【问题标题】:Get value from JSON object having multiple keys从具有多个键的 JSON 对象中获取值
【发布时间】:2018-01-23 09:26:45
【问题描述】:

我有一个 JSON 对象如下:

{
    "winame": "123",
    "val": "[
        {
            "gurName": "sds",
            "gurType": "",
            "crNo": "",
            "crissueDate": "",
            "dob": "",
            "gender": "",
            "address": "",
            "maritialStatus": "",
            "cache": ""
        }
    ]"
}

其中第一个键是值,第二个键包含一些 Java 对象类型的值。如何将 'winname' 和 'val' 的值解析到该 java 对象中。

【问题讨论】:

  • VO 代表什么?
  • 它是java对象。我编辑了...
  • val 中的双引号是否真的像\"gurName\": \"sds\" 一样被转义了?你能显示你想要解析的结果类吗?

标签: json parsing gson jsonparser


【解决方案1】:

您可以使用任意数量的键解析 JSON。

JSONObject obj = new JSONObject("xyz");
String winame= obj.getJSONObject("winame");

JSONArray arr = obj.getJSONArray("val");
for (int i = 0; i < arr.length(); i++)
{
    String gurName = arr.getJSONObject(i).getString("gurName");
    String gurType = arr.getJSONObject(i).getString("gurType");
    String crNo = arr.getJSONObject(i).getString("crNo");
    String crissueDate = arr.getJSONObject(i).getString("crissueDate");
    String dob = arr.getJSONObject(i).getString("dob");
    String gender = arr.getJSONObject(i).getString("gender");
    String address = arr.getJSONObject(i).getString("address");
    String maritialStatus = arr.getJSONObject(i).getString("maritialStatus");
    String cache = arr.getJSONObject(i).getString("cache");    
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    相关资源
    最近更新 更多