数组java中的Json解析

数组java中的Json解析,java,json,Java,Json,我不熟悉JSON解析,我需要您的帮助来理解如何解析数组中的JSON对象 我的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是我的输入JSON,如上所述 JSONObject logJson = (JSONObject) JSONSerializer.toJSON( log ); St

我不熟悉JSON解析,我需要您的帮助来理解如何解析
数组中的JSON对象

我的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是我的输入JSON,如上所述

JSONObject logJson = (JSONObject) JSONSerializer.toJSON( log );
String a = logJson.getString("A");
String b = logJson.getString("B");
现在的问题是如何解析
数组
并获取
JSONObject
。我正在使用
net.sf
API。

希望这会有所帮助:

    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");
    }
JSONObject对象jonthiseclaimjson=JSONObject.fromString(strJSONMonthwiseClaim);
JSONArray objDateWiseClaimJSONArr=objonthwiseClaimJSON.getJSONArray(“dateWiseClaimList”);
对于(int dtwclaim=0;dtwclaim希望这会有所帮助::

    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");
    }
JSONObject对象jonthiseclaimjson=JSONObject.fromString(strJSONMonthwiseClaim);
JSONArray objDateWiseClaimJSONArr=objonthwiseClaimJSON.getJSONArray(“dateWiseClaimList”);

首先,对于(int dtwclaim=0;dtwclaim,我认为您的json格式无效

“钥匙”也必须插在“钥匙”上。
“A”:“文本”

您可以使用
JSONArray JSONArray=logJson.getJSONArray(“C”);

在数组上,您可以迭代:

for(int i = 0; i < jsonArray.length(); i++)
{
    JSONObject obj = jsonArray.getJSONObject(i);
    ...
}
for(int i=0;i
首先,我认为您的json格式无效

“钥匙”也必须插在“钥匙”上。
“A”:“文本”

您可以使用
JSONArray JSONArray=logJson.getJSONArray(“C”);

在数组上,您可以迭代:

for(int i = 0; i < jsonArray.length(); i++)
{
    JSONObject obj = jsonArray.getJSONObject(i);
    ...
}
for(int i=0;i
Ok。但是我如何遍历数组中的jsonobject?@user1677986:更新了我的答案,请检查这是否有帮助Ok…这帮助我理解了在数组中重新修改jsonobject,但是如何获得json对象,如示例C:[{T:“Text”,D:{E:“Text”,F:{G:“time”},@user1677986:请现在检查在我的例子中C是一个数组,我还想打印其他值,如E、F、G等等。好的。但是我如何遍历数组中的jsonobject?@user1677986:已经更新了我的答案,请检查这是否有助于确定…这帮助我理解数组中重新修改jsonobject,但是我如何获得json object,如示例C:[{T:“Text”,D:{E:“Text”,F:{G:“time”},@user1677986:请立即检查在我的示例中,C是一个数组,我还想打印其他值,如E,F,G等等。谢谢..但我的意思是,根据json规范,键可以不带“Ok,I DoubleCheck”,它无效,根据不同的实现(例如,javascript)它“可能”是有效的。通过上面的代码,我可以得到C的值,但是我如何得到D,E,F,g的值呢?与以前一样……如果它是一个对象
obj.getJSONObject(“D”);
如果它是一个数组obj.getJSONArray(“D”);这个json字符串的结构非常笨拙,因此访问所有json ObjectsHank非常不方便..但我的意思是密钥可以不带“Ok,I DoubleCheck,根据json规范,它是无效的,根据不同的实现(例如javascript),它“可能”使用上面的代码,我可以得到C的值,但是我如何得到D,E,F,G的值呢?和以前一样…如果它是一个对象
obj.getJSONObject(“D”);
如果它是一个数组obj.getJSONArray(“D”);这个json字符串的结构非常笨拙,因此访问所有json对象非常不方便