简体   繁体   English

Android中JSONObject的字符串引发异常

[英]String to JSONObject in Android raise exception

Here is the JSON format in String object which i am trying to convert into JSONObject in android. 这是String对象中的JSON格式,我正在尝试将其转换为android中的JSONObject。

{  
   "city":[  
      {  
         "id":"1",
         "name":"Mumbai"
      },
      {  
         "id":"2",
         "name":"Delhi"
      },
      {  
         "id":"3",
         "name":"Chennai"
      },
      {  
         "id":"4",
         "name":"Kolkatta"
      }
   ],
   "locality":[  
      {  
         "id":"1",
         "locality_city_id":"1",
         "locality_name":"Andheri"
      },
      {  
         "id":"2",
         "locality_city_id":"1",
         "locality_name":"Bandra"
      },
      {  
         "id":"3",
         "locality_city_id":"1",
         "locality_name":"Dadar"
      },
      {  
         "id":"4",
         "locality_city_id":"1",
         "locality_name":"Thane"
      }
   ],
   "diseases":[  
      {  
         "id":"1",
         "disease_name":"Blood Pressure"
      },
      {  
         "id":"2",
         "disease_name":"Diebetes"
      },
      {  
         "id":"3",
         "disease_name":"Hypertention"
      },
      {  
         "id":"4",
         "disease_name":"Dyslexia"
      }
   ]
}

I copied it to JSON beautifier and it says it is a valid JSON. 我将其复制到JSON beautifier,并说它是有效的JSON。 But this raises exception. 但这引发了例外。 Is there anything wrong in the JSON format ? JSON格式有什么问题吗?

Code used is: 使用的代码是:

JSONObject jsonObject = new JSONObject(jsonString);

Exception stacktrace: 异常stacktrace:

08-11 11:22:33.548: W/System.err(3055): org.json.JSONException: Value {"city":[{"id":"1","name":"Mumbai"},{"id":"2","name":"Delhi"},{"id":"3","name":"Chennai"},{"id":"4","name":"Kolkatta"}],"locality":[{"id":"1","locality_city_id":"1","locality_name":"Andheri"},{"id":"2","locality_city_id":"1","locality_name":"Bandra"},{"id":"3","locality_city_id":"1","locality_name":"Dadar"},{"id":"4","locality_city_id":"1","locality_name":"Thane"}],"diseases":[{"id":"1","disease_name":"Blood Pressure"},{"id":"2","disease_name":"Diebetes"},{"id":"3","disease_name":"Hypertention"},{"id":"4","disease_name":"Dyslexia"}]} of type java.lang.String cannot be converted to JSONObject 08-11 11:22:33.548: W/System.err(3055): at org.json.JSON.typeMismatch(JSON.java:111) 08-11 11:22:33.548: W/System.err(3055): at org.json.JSONObject.(JSONObject.java:158) 08-11 11:22:33.548: W/System.err(3055): at org.json.JSONObject.(JSONObject.java:171) 08-11 11:22:33.548:W / System.err(3055):org.json.JSONException:值{“ city”:[{“ id”:“ 1”,“ name”:“孟买”},{ “ id”:“ 2”,“ name”:“ Delhi”},{“ id”:“ 3”,“ name”:“ Chennai”},{“ id”:“ 4”,“ name”:“ Kolkatta “}],” locality“:[{” id“:” 1“,” locality_city_id“:” 1“,” locality_name“:” Andheri“},{” id“:” 2“,” locality_city_id“:” 1 “,” locality_name“:” Bandra“},{” id“:” 3“,” locality_city_id“:” 1“,” locality_name“:” Dadar“},{” id“:” 4“,” locality_city_id“: “ 1”,“ locality_name”:“ Thane”}],“疾病”:[{“ id”:“ 1”,“ disease_name”:“血压”},{“ id”:“ 2”,“ disease_name” :“ Diebetes”},{“ id”:“ 3”,“ disease_name”:“ Hypertention”},{“ id”:“ 4”,“ disease_name”:“ Dyslexia”}]}}类型为java.lang.String无法转换为JSONObject 08-11 11:22:33.548:W / System.err(3055):在org.json.JSON.typeMismatch(JSON.java:111)08-11 11:22:33.548:W / System .err(3055):位于org.json.JSONObject。(JSONObject.java:158)08-11 11:22:33.548:W / System.err(3055):位于org.json.JSONObject。(JSONObject.java: 171)

I've tried with your JSON and the following code snippet works for me. 我已经尝试过使用您的JSON,以下代码段对我有用。

String strJson = YOUR_JSON_STRING_HERE;
try {
    JSONObject json = new JSONObject(strJson);
    System.out.println(json);
} catch (JSONException e) {
    e.printStackTrace();
}

Paste the whole code, because what ever you've provided works fine 粘贴整个代码,因为您提供的一切都可以正常工作

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM