gpt4 book ai didi

java - JSON 解析 : org. json.JSON.typeMismatch

转载 作者:行者123 更新时间:2023-11-30 02:39:19 30 4
gpt4 key购买 nike

我正在尝试从 URL 解析 JSON,我想我已经尝试了 100 种不同的方法,但到目前为止我还没有找到正确的解决方案。我相信我遇到的问题是我收到的 JSON 中的数据结构。每个都有一个以“0”开头并递增到最后一个的名称。我想把所有这些公司都放到一个数组列表中。

    public static String url = "http://api.richmondsystemengineering.com/v1/?query_type=rva_card_get_businesses&appkey=51e53e510ecc14e4b2bde952f0c589f0";

public static void getData(Context context) {
// Hashmap for ListView

ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();

HttpClient httpClient = new DefaultHttpClient();
HttpResponse response = null;
HttpGet getMethod = new HttpGet(url);
try {
response = httpClient.execute(getMethod);

// CONVERT RESPONSE TO STRING
String result = EntityUtils.toString(response.getEntity());

// CONVERT RESPONSE STRING TO JSON ARRAY
JSONArray ja = new JSONArray(result);

// ITERATE THROUGH AND RETRIEVE CLUB FIELDS
int n = ja.length();
for (int i = 0; i < n; i++) {
// GET INDIVIDUAL JSON OBJECT FROM JSON ARRAY
JSONObject c = ja.getJSONObject(i);
Log.e("name", c.getString("phone"));


// Storing each json item in variable
companyName = c.getString("name");
companyEmail = c.getString("email");
companyAddress = c.getString("address");
companyCity = c.getString("city");
companyZip = c.getString("zip");
companyDescription = c.getString("description");



HashMap<String, String> map = new HashMap<String, String>();
map.put("name", companyName);
map.put("email", companyEmail);
map.put("address", companyAddress);
map.put("city", companyCity);
map.put("zip", companyZip);
map.put("description", companyDescription);
contactList.add(map);


}
} catch (Exception e) {
error = true;

e.printStackTrace();
}

}

然后在我的 Logcat 上我得到:

    org.json.JSONException: Value {"EAT_subcat":"farm, market and grocery","phone":"(804) 780-0086","WORK_subcat":"advertising","RID":"6","state":"","featured":"1","EAT":"1","city":"Richmond","DRINK":"1","distance":5532.3,"PLAY_subcat":"indoor and outdoor recreational activities","ENJOY_subcat":"entertainment and landmarks","updated":"2014-07-09 00:48:50","created":"2014-09-17 13:07:16","description":"Bistro 27 is a lively European bistro located in downtown Richmond, Virginia at the corner of Broad and Adams. With our floor-to-ceiling, wrap around windows and airy 20 foot ceilings, Twenty Seven offers a dining experience like no other in Richmond. Our menu is influenced by the hearty, healthy cuisines of Italy and France and features something for everyone's taste. Twenty Seven's wine lists ranges from inexpensive, little known gems to world class award winners. Parking is free at the corner of Adam and Grace Street, in the southwest corner. Look for the Bistro 27 sign  ","SHOP_subcat":"home garden goods and electronics","zip4":"0","name":"Bistro 27","longitude":"-77.442953","LIVE_subcat":"health fitness and edu classes","fname":"","zip":"23220","logo":"Pic"
at org.json.JSON.typeMismatch(JSON.java:100)
at org.json.JSONObject.getJSONArray(JSONObject.java:553)
at com.rse.rvacard.SearchActivity.getData(SearchActivity.java:167)
at com.rse.rvacard.SearchActivity.onCreate(SearchActivity.java:79)
at android.app.Activity.performCreate(Activity.java:5586)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2402)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2497)
at android.app.ActivityThread.access$900(ActivityThread.java:168)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1306)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5678)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
at dalvik.system.NativeStart.main(Native Method)

最佳答案

关于杰森:[ {in these brackets} ,{ there is an array}, {of objects} ]{在这些括号中只是一个对象}

你说“嘿,把 JSONArray 给我”(我的天啊,押韵!)然后 Eclipse 告诉你:“你疯了?我没有看到数组”(隐藏的信息是只有一个对象,而不是数组)

关于 json 的更多信息 here .

    // CONVERT RESPONSE TO STRING
String result = EntityUtils.toString(response.getEntity());

// CONVERT RESPONSE STRING TO JSON OBJECT
JSONObject c = new JSONObject (result);

// Storing each json item in variable
companyName = c.getString("name");
companyEmail = c.getString("email");
companyAddress = c.getString("address");
companyCity = c.getString("city");
companyZip = c.getString("zip");
companyDescription = c.getString("description");}

关于java - JSON 解析 : org. json.JSON.typeMismatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26000836/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com