بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل خواندن اطلاعات از json در اندروید 4 به پایین
سلام استاد یک سوال داشتم
من زمانی که میخوام اطلاعات رو ا ز 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}", "");
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .