آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل خواندن اطلاعات از json در اندروید 4 به پایین

سپهر  12 سال پیش  11 سال پیش
+2 0

سلام استاد یک سوال داشتم

من زمانی که میخوام اطلاعات رو ا ز json توی اندروید 4 به بالا بخونم و parse کنم مشکلی پیش نمیاد ولی در اندروید 2.2 با ارور زیر مواجه میشم

"org.json.JSONException: Value ? of type java.lang.String cannot be converted to JSONObject"

 

میشه لطفا راهنمایی کنید

     ArrayList<String>              titlelist = new ArrayList<String>();
String result;

new Thread(new Runnable() {

@Override
public void run() {
result = JsonParser.readUrl("http://192.168.1.3/json2.txt");

}
}).start();
while (result==null){
}

try {
Log.i("resilt",result);
JSONObject object = new JSONObject(result);

JSONArray anotherArray = object.getJSONArray("tabs");
for (int i = 0; i < anotherArray.length(); i++)
{
JSONObject tab = anotherArray.getJSONObject(i);
String title = tab.getString("title");
titlelist.add(title);
}
}
catch (JSONException e) {
e.printStackTrace();
}
 public class JsonParser {

public static String readUrl(String url) {
try {
HttpClient client = new DefaultHttpClient();
HttpPost method = new HttpPost(url);

 HttpResponse resp>


int code = response.getStatusLine().getStatusCode();
Log.i("LOG", "Code: " + code);

InputStream inputStream = response.getEntity().getContent();
String result = convertInputStreamToString(inputStream);

return result;
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}

return null;
}


private static String convertInputStreamToString(InputStream inputStream) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();

String line = "";

while ((line = reader.readLine()) != null) {
builder.append(line);
}

return builder.toString();
}
catch (IOException e) {
e.printStackTrace();
}

return null;
}

}
0 0
اینم json هست {"tabs":[{"title":"123"},{"title":"1203"}]} (12 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
مجتبی یگانه  11 سال پیش
+6 0

یعنی یکی از بدترین مشکلاتی بود که تا الان داشتم !  - فقط هم رو API Level 8 اتفاق میافته :|

json ؟! ، سالم  - پردازش درست ، خروجی ؟! ، خطای غیر منتظره ای رخ داد !

وقتی ما چیزی رو از سرور میگریم ممکنه یه سری کارکتر غیر قابل چاپ هم در خروجی وجود داشته باشه ، وقتی خروجی رو لاگ میکنیم میبینیم سالم هست ، اما در واقع یکی دو تا کارکتر اضافی داره - کاکتر هایی که دیده نمیشن ! ، برای حل مشکل ، string های خروجی از سرور رو در کلاس وبسرویس به این شکل اصلاح کنید

serverResponse.trim().replaceAll("\\p{C}", "");

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .