0
我如何能分析一個JSONArray當從web服務的響應被格式化爲這樣:如何解析JSONArray的Android
<?xml version="1.0" encoding="UTF-8"?>
<string xmlns="http://www.somewebsite.com/"><PricingTier ANo='' MsgFlg=''><Group Type='Mouldings'><CurTier>BRZ</CurTier><NxtTier>SIL</NxtTier><CurTierFrom>$4,000</CurTierFrom><CurTierTo>$9,999</CurTierTo><NxtTierFrom>$10,000</NxtTierFrom><NxtTierTo>$14,999</NxtTierTo><CurSales>$2,107</CurSales><ReqSales>$7,893</ReqSales><MsgFull></MsgFull><MsgPart></MsgPart></Group><Group Type='Accessories'><CurTier>BAS</CurTier><NxtTier>GLD</NxtTier><CurTierFrom>$0</CurTierFrom><CurTierTo>$1,499</CurTierTo><NxtTierFrom>$1,500</NxtTierFrom><NxtTierTo>$4,999</NxtTierTo><CurSales>$125</CurSales><ReqSales>$800</ReqSales><MsgFull></MsgFull><MsgPart></MsgPart></Group></PricingTier></string>
當我運行我的應用程序,我得到一個錯誤說「無法將字符串轉換爲JSONObject「。我知道它不喜歡如何對字符串響應進行格式化,所以我想知道我可以將響應格式(JSON_DATA)格式化爲解析器可以正確使用的內容。
代碼:
if (JSON_DATA != null) {
try {
JSONObject reader = new JSONObject(JSON_DATA);
JSONArray Group = reader.getJSONArray("Group");
for (int i = 0; i < Group.length(); i++) {
JSONObject g = Group.getJSONObject(i);
final String Type = g.getString("-Type");
final String CurTier = g.getString("CurTier");
final String NxtTier = g.getString("NxtTier");
final String CurTierFrom = g.getString("CurTierFrom");
final String CurTierTo = g.getString("CurTierTo");
final String NxtTierFrom = g.getString("NxtTierFrom");
final String NxtTierTo = g.getString("NxtTierTo");
final String CurSales = g.getString("CurSales");
final String ReqSales = g.getString("ReqSales");
fragment.getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
tvType.setText(Type);
tvCurTier.setText(CurTier);
tvNxtTier.setText(NxtTier);
tvCurTierFrom.setText(CurTierFrom);
tvCurTierTo.setText(CurTierTo);
tvNxtTierFrom.setText(NxtTierFrom);
tvNxtTierTo.setText(NxtTierTo);
tvCurSales.setText(CurSales);
tvReqSales.setText(ReqSales);
}
});
}
您的輸入是在xml請參考此答案如何將xml字符串轉換爲JSONObject:http://stackoverflow.com/a/18339178/5245903 –
謝謝,我不小心調用了錯誤的URL。 –