基本上,我向服务器发送请求,其响应是"{"Result":"OK"}"
,我可以检索,但是当我尝试在我的处理方法中使用repsonse时:
public void ProcessData(java.lang.String stream)
{
JSONArray jsonArray;
try
{
jsonArray = new JSONArray(stream);
for(int i=0; i<jsonArray.length(); i++)
{
JSONObject jsonObject = jsonArray.getJSONObject(i);
String itemText = jsonObject.getString("text");
Response = itemText;
}
}catch (JSONException e)
{
e.printStackTrace();
}
}
如果流为"{"Result":"OK"}"
,则此行失败
jsonArray = new JSONArray(stream);
有什么想法吗?
答案 0 :(得分:3)
因为它不是一个json数组,它是一个json对象(以{
开头)..
jsonobject = new JSONObject(stream);
答案 1 :(得分:1)
错误地尝试将JsonObject
解析为JsonArray
尝试
try {
JSONObject jobj = new JSONObject(Respones);
String userid = jobj.getString("Result");
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 2 :(得分:1)
此jsonStr
格式为JsonObject
:
{name:value}
不是jSONArray
格式:
[{name:value}]
你必须使用:
JSONObject obj=new JSONObject(stream)
无法使用新的JSonArray(stream);
答案 3 :(得分:0)
那里没有JSONArray
,只有JSONObject
jsonArray = new JSONObject(stream);