如何在Android中将JsonString添加到JsonArray

时间:2016-02-05 11:19:29

标签: android json exception getjson type-mismatch

我们得到这样的回应:

[
  {
    id: 124,
    membershipid: ,
    title: MEMBER
  },
  {
    id: 125,
    membershipid: 4123,
    title: TWOYEARDIRECTORR
  },
  {
    id: 126,
    membershipid: ,
    title: TWOYEARDIRECTOR
  },
  {
    id: 127,
    membershipid: ,
    title: MEMBER
  }
]

我们正在尝试将JsonString转换为JsonArray 我们的代码

ServiceHandler是用户定义的类,扩展了HttpClient

String jsonStr = sh.makeServiceCall(url_check, ServiceHandler.GET);
Log.d("result : ", jsonStr);
try {
    JSONObject tt=new JSONObject(jsonStr);
}

但它显示org.json.JSON.typeMismatch

任何人都可以帮助我 在此先感谢!

3 个答案:

答案 0 :(得分:2)

由于您收到的是数组,请使用JSONArray代替JSONObject

答案 1 :(得分:1)

上面提到的JSON是RFC 4627字符串。将JSON(RFC 4627)编码的字符串解析为相应的对象。我们必须使用JSONTokener。

JSONObject object = (JSONObject) new JSONTokener(json).nextValue();
 String query = object.getString("id");
 String membershipid = object.getString("membershipid");
 String title = object.getString("title");

或者将JSON作为普通的JSON字符串返回。 如果您在服务器端使用php,请使用" JSON_ENCODE"将字符串编码为json。

希望它有所帮助。

答案 2 :(得分:0)

尝试使用:

JSONArray tt=new JSONArray (jsonStr);