【问题标题】:String to jsonobject in java [closed]字符串到java中的jsonobject [关闭]
【发布时间】:2013-10-24 10:00:30
【问题描述】:

这是来自 jsonObject 的字符串

[
    {
        "No": "1",
        "Name": "ABC"
    },
    {
        "No": "2",
        "Name": "PQR"
    },
    {
        "No": "3",
        "Name": "XYZ"
    }
]

我想将此字符串转换为 JSONObject 以在 JSONArray 中获取此值

【问题讨论】:

  • 您在使用众多库中的哪一个?
  • Google 可以为您提供更好的结果。令人惊讶的是,在这种情况下,Google's gson 会为您提供帮助。

标签: java arrays json string


【解决方案1】:

使用这个:

import org.json.JSONArray;
// ...

String jsonStr = "[{\"No\":\"1\",\"Name\":\"ABC\"},{\"No\":\"2\",\"Name\":\"PQR\"},{\"No\":\"3\",\"Name\":\"XYZ\"}]";

   JSONArray array = new JSONArray(jsonStr); 

    for(int i=0; i<array.length(); i++){
        JSONObject jsonObj  = array.getJSONObject(i);
        System.out.println(jsonObj.getString("No"));
        System.out.println(jsonObj.getString("Name"));
    }

输出:

1
ABC
2
PQR
3
XYZ

【讨论】:

  • 从哪个包导入JSONArray?
  • @PrafullaKumarSahu 例如:org.json.JSONArray
  • 添加这两个答案会更好,因为它使答案更加清晰。谢谢。
【解决方案2】:

使用 Google 的 JSON 库 (google-gson):

JsonParser jsonParser = new JsonParser();
JsonElement element = jsonParser.parse(your json string);

【讨论】:

    【解决方案3】:

    您可以使用GSON 将 JSON 字符串解析为 Java 对象,反之亦然。

    【讨论】:

      【解决方案4】:

      我想你的输入字符串是str,

       String str = {"xyz":[{"name":"apple","email_id":"apple@apple.com"}]}
      
       JSONObject json = JSONObject.fromObject(str);
      
       JSONArray jarr = json.getJSONArray("xyz");
      

      代替xyz,你可以传递根字符串输入。

      这应该可行。

      【讨论】:

      • 添加这是什么包JSONObject 因为不是来自org.json.simple.JSONObject
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-05
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      相关资源
      最近更新 更多