数组java中的Json解析
我不熟悉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结构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对象非常不方便