/ / त्रुटि Android में क्या दर्शाता है (JSON) डेटा पार्स करने में त्रुटि

एंड्रॉइड (JSON) में त्रुटि इंगित करता है डेटा org.json.JSONException पार्स करने में त्रुटि: - एंड्रॉइड, जेसन

डेटा पार्स करने में त्रुटि org.json.JSONException:

Java.lang.String का मान JSONArray में परिवर्तित नहीं किया जा सकता है

JSONArray jsonArray = new JSONArray(result);
JSONArray ja= (JSONArray) jsonArray.get(0);
JSONObject jb = (JSONObject) ja.get(0);
//String firstvalue = jb.getString("0");
int secondvalue = jb.getInt("customer_id");

Myjson आउटपुट को पसंद करना चाहिए [[{"0":"2","customer_id":"2"}]]

मैं जैसे php का उपयोग कर उत्पादन jenerating हूँ

$output[]= $customerid;
print(json_encode($output));

उत्तर:

उत्तर № 1 के लिए 1

आपकी पार्सिंग समस्या के लिए पहले से ही इसका उत्तर @

एंड्रॉइड में JSON ऑब्जेक्ट को कैसे कॉल करें

इसकी एक स्ट्रिंग

String secondvalue = jb.getString("CUSTOMER_ID");
try
{
int value = Integer.parseInt("secondvalue");
Log.i("Customer id",""+value);
}catch(NumberFormatException e)
{
e.printStackTrace();
}

संपादित करें:

  String myjson = "["
+"["
+"{"
+  " "0": "2","
+  ""CUSTOMER_ID": "2""
+   "}"
+  "]"
+ "]";

पदच्छेद

  try {
JSONArray jsonArray = new JSONArray(myjson);
JSONArray ja= (JSONArray) jsonArray.get(0);
JSONObject jb = (JSONObject) ja.get(0);
String firstvalue = jb.getString("0");
String secondvalue = jb.getString("CUSTOMER_ID");
int value = Integer.parseInt(secondvalue);
Log.i("Customer id",""+value);
Log.i("first value is",firstvalue);
Log.i("second value is",secondvalue);
}catch(NumberFormatException e)
{
e.printStackTrace();
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

जवाब के लिए 0 № 2

इसका सीधा सा मतलब है कि स्ट्रिंग (कहते हैं, some_string) आपने इनपुट के रूप में दिया है new JSONArray(some_string) स्ट्रिंग JSON सरणी में कनवर्ट नहीं किया जा सकता क्योंकि स्ट्रिंग आवश्यक json सरणी प्रारूप का पालन नहीं करता है। एक उचित JSON सरणी स्ट्रिंग का एक उदाहरण नीचे दिया गया है

[{ "शीर्षक": "TITLE_1", "नाम": "name_1"}, { "शीर्षक": "TITLE_2", "नाम": "name_2"}]