Tôi có một tệp JSON có 2 JSON-Mảng trong đó: Một mảng cho các tuyến đường và một Array cho các điểm tham quan.JSONException: Giá trị của kiểu java.lang.String không thể được chuyển thành JSONObject
Tuyến đường phải bao gồm một số điểm tham quan nơi người dùng được điều hướng đến. Đáng tiếc là tôi đang nhận được lỗi:
JSONException: Giá trị của loại java.lang.String không thể được chuyển đổi sang JSONObject
Dưới đây là các biến của tôi và các mã phân tích cú pháp JSON-File:
private InputStream is = null;
private String json = "";
private JSONObject jObj = null;
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
// hier habe ich das JSON-File als String
json = sb.toString();
Log.i("JSON Parser", json);
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// return JSON String
return jObj;
}
Log.i ("JSON Parser", json); cho tôi thấy rằng lúc bắt đầu của chuỗi tạo ra có một dấu hiệu lạ:
nhưng lỗi xảy ra ở đây:
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
04-22 14:01:05.043: E/JSON Parser(5868): Error parsing data org.json.JSONException: Value //STRANGE SIGN HERE // of type java.lang.String cannot be converted to JSONObject
ai có một đầu mối về cách để thoát khỏi những dấu hiệu để tạo JSONObject?
thx, tệp JSON của tôi bắt đầu bằng dấu ngoặc nhọn bên trái {và kết thúc bằng dấu ngoặc nhọn bên phải}. Tôi đã sử dụng trình xác thực JSON này để đảm bảo rằng Cú pháp JSON là chính xác. Vấn đề là, chuỗi mà tôi đang tạo ra khỏi JSON có một dấu lạ ở phía trước như yo có thể thấy ở đây: http://i.stack.imgur.com/uOiX8.png – RCK69
Tôi có cùng vấn đề, trong một số trường hợp "thành công" tiền mặt ứng dụng của tôi vì cùng một lỗi của câu hỏi này. nhưng ở chế độ "thành công" khác, nó hoạt động chính xác. vấn đề là nếu chủ yếu là trường hợp nó hoạt động, vì vậy tôi bối rối. – Kenji