如何使用 java 提供以下 json 输出
我尝试使用 java net.sf.json 库生成以下 json 输出,但没有成功。
[ { “数据”: [ [ 1、 1、 “文本” ], [ 2、 2、 “文本” ], [ 3、 0, “文本” ], [ 5、 2、 “文本” ] ], “label”:“第一系列” } ]
我在这些论坛上读到 Gson 是我未来最好的选择。任何人都可以提供如何使用 Gson 或其他合适的基于 java 的库生成此 json 的示例。
提前致谢
I am trying to generate the following json output using the java net.sf.json libs but have been unsuccessful.
[
{
"data": [
[
1,
1,
"Text"
],
[
2,
2,
"Text"
],
[
3,
0,
"Text"
],
[
5,
2,
"Text"
]
],
"label": "First Series"
}
]
I have read on these forums Gson is my best bet going forward. Can anyone provide an example of how to generate this json using Gson or another suitable java based library.
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我喜欢这个
http://www.json.org/javadoc/org/json/JSONObject.html 来自 http://json.org/java/
和 JSONArray。
与这两个对象:
i like this
http://www.json.org/javadoc/org/json/JSONObject.html from http://json.org/java/
and JSONArray.
with those 2 objects:
Gson
http://json.org/java/
Gson
http://json.org/java/
使用像这样的 Java 对象,这很容易:
由于您的 JSON 格式对每个数据项使用数组而不是对象(根据您的示例,对象会更有意义),您需要添加一个自定义处理程序来序列化和反序列化 < code>DataItem 与 JSON 数组之间的转换。
然后,您只需在创建
Gson
实例时注册此转换器即可开始!由于我们的DataItem
转换器也可以处理反序列化,因此您也可以将生成的 JSON 反序列化为List
。This is easy enough using a Java object like this:
Since your JSON format uses an array rather than an object for each data item (an object would make more sense based on your sample) you need to add a custom handler for serializing and deserializing
DataItem
s to and from JSON arrays.Then you just need to register this converter when you create your
Gson
instance and you're good to go! Since ourDataItem
converter handles deserialization as well, you'll be able to deserialize the generated JSON as aList<GsonTest>
as well.