简体   繁体   English

JSON在数组java中解析

[英]Json parsing in array java

I am new to JSON parsing and I would need your kind help to understand how to parse a JSON object inside an Array . 我是JSON解析的新手,我将需要您的帮助以了解如何解析ArrayJSON对象。

My JSON structure log is below: 我的JSON结构log如下:

{A:"text",B:"text",C:[{T:"Text",D:{E:"Text",F:{G:"time"}},H:{I:"200"},J:{K:{L:53,M:2.2},N:"Text"},P:{Q:"Time"}}]}

log is my input JSON as above. 日志是我上面输入的JSON

JSONObject logJson = (JSONObject) JSONSerializer.toJSON( log );
String a = logJson.getString("A");
String b = logJson.getString("B");

Now question is how do I parse into the Array and get JSONObject . 现在的问题是如何解析为Array并获取JSONObject I am using net.sf API. 我正在使用net.sf API。

First of all, I think your json format is invalid. 首先,我认为您的json格式无效。

The "key" must stand in " as well eg "A":"text" “键”也必须以“”表示,例如"A":"text"

You can get the "C" Array by using JSONArray jsonArray = logJson.getJSONArray("C"); 您可以通过使用JSONArray jsonArray = logJson.getJSONArray("C");获得“ C”数组JSONArray jsonArray = logJson.getJSONArray("C");

On the array you can iterate: 在数组上,您可以迭代:

for(int i = 0; i < jsonArray.length(); i++)
{
    JSONObject obj = jsonArray.getJSONObject(i);
    ...
}

Hope this will help :: 希望这会有所帮助::

    JSONObject objonthwiseClaimJSON = JSONObject.fromString(strJSONMonthwiseClaim);

    JSONArray objDateWiseClaimJSONArr = objonthwiseClaimJSON.getJSONArray("dateWiseClaimList");

 for(int dtwclaim=0; dtwclaim<objDateWiseClaimJSONArr.length();dtwclaim++)
{
                 JSONObject objDateWiseClaimJSONObject =(JSONObject) objDateWiseClaimJSONArr.get(dtwclaim);
                 String dcnid = (String) objDateWiseClaimJSONObject.get("dcnid");
                 String remark = (String) objDateWiseClaimJSONObject.get("remark");
    }

In your situation :: 在您的情况下::

JSONObject logJson = (JSONObject) JSONSerializer.toJSON( log );
String a = logJson.getString("A");
String b = logJson.getString("B");
JSONArray c = logJson.getJSONArray("C"); // If C is not an array, just a plain object

for(int i =0;i<c.length();i++)
{
... // 

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM