【问题标题】:json array to individual stringsjson 数组到单个字符串
【发布时间】:2016-10-28 09:48:07
【问题描述】:

作业:我正在使用 json-simple。如何将此 json 数据转换为单独的 java 字符串? (如果您认为这是一个低级问题,请原谅我 - 我是 JSON 新手,所以我对此不太了解 - 我已经搜索了很多,但我找不到任何答案)


如果只有一个对象,我可以获取数据......像这样......

{
    "name": "Abhi",
    "age": "21"
}

但是,如果它在数组中,我无法获取数据

[{
    "name": "Abhi",
    "age": "21"
}, {
    "name": "shek",
    "age": "7"
}]

我的 json 对象的程序逻辑

    JSONParser parser = new JSONParser();

    Object obj = parser.parse(new FileReader("A:/c/dataFile.json"));

    JSONObject jObj = (JSONObject) obj;

    String gName = (String) jObj.get("name");
    String gAge = (String) jObj.get("age");
    System.out.println(gName);
    System.out.println(gAge);

谁能告诉我如何获取数据?也许是一个代码 sn-p?

提前感谢您的回答!

【问题讨论】:

  • 在处理 JSON 数组时,您不应将 Object 转换为 JSONObject,而是转换为 JSONArray,您将对其进行迭代以检索其中包含的 JSONObjects。跨度>
  • 如果需要测试收到的是数组还是对象,请查看JSONStructure及其getValueType方法。
  • 我可以在哪个基础上分离两个对象?
  • JSONArray extends List<JSONValue>,您可以像任何List 一样对其进行迭代,以便单独处理其中的每个元素。

标签: java json file json-simple


【解决方案1】:

因为在你的第二种情况下你得到 JSONArray 您可能需要检查 obj 的实例为

if (jObj instanceof JSONObject)

else if (jObj instanceof JSONArray)

【讨论】:

    猜你喜欢
    • 2019-11-22
    • 1970-01-01
    • 2018-09-08
    • 2012-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多