【问题标题】:Java Json help creating and parsing [closed]Java Json 帮助创建和解析 [关闭]
【发布时间】:2013-08-20 22:06:50
【问题描述】:

如何在 Java 中创建这种 json 以及如何解析它

[["Car","Bike","Bus"],["Road","Footpath","Highway"],["Horn","Sound","Pollution"]]

我对 java 很陌生。请有人帮忙

【问题讨论】:

  • 你还有代码吗?
  • 真的吗?关于 Java 和 JSON 的数千个现有问题都没有帮助?
  • 先去json.org学习一下JSON语法。学习大约需要10分钟。然后了解 Java 有两种类型的 JSON 工具包——一种将 JSON 字符串转换为/从“类数组”和“类映射”Java 对象,另一种是转换为/从任意用户定义的 Java 对象。 (大多数其他语言只有前者。)

标签: java json


【解决方案1】:

使用org.json Java 解析器,您可以将 JSON 创建为

JSONArray jsonObj1 = new JSONArray();
jsonObj1.put("Car").put("Bike").put("Bus");

System.out.println(jsonObj1); // ["Car","Bike","Bus"]

JSONArray jsonObj2 = new JSONArray();
jsonObj2.put("Road").put("Footpath").put("Highway");

System.out.println(jsonObj2); // ["Road","Footpath","Highway"]

JSONArray jsonObj3 = new JSONArray();
jsonObj3.put("Horn").put("Sound").put("Sound");

System.out.println(jsonObj3); // ["Horn","Sound","Pollution"]

JSONArray jsonRoot = new JSONArray();
jsonRoot.put(jsonObj1).put(jsonObj2).put(jsonObj3);

System.out.println(jsonRoot);
// prints: [["Car","Bike","Bus"],["Road","Footpath","Highway"],["Horn","Sound","Pollution"]]

反序列化 JSON 字符串也很简单

String jsonString = jsonRoot.toString();
JSONArray jsonParsedRoot = new JSONArray(jsonString);
System.out.println(jsonParsedRoot.getJSONArray(0).getString(1)); // Bike

【讨论】:

  • 最后又打印了什么? ;)
  • @ChrisForrence,感谢您通知错误。 :)
【解决方案2】:

有关此主题的 Java EE 7 文档和示例:http://docs.oracle.com/javaee/7/tutorial/doc/jsonp.htm

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    • 2011-02-27
    • 1970-01-01
    • 2016-07-14
    • 2014-07-22
    • 2018-12-11
    相关资源
    最近更新 更多