بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در json (یکی راهنمایی کنه لطفا)
سلام
من در قسمت یازده اموزش ها برای خوندن اطلاعات با json به مشکل برخوردم و هنگامی که میخوام یه مقدار بخونم خطا میده اینم کدم . تو خط JSONObject object = new JSONObject(resaut); خطا میده
public class TestClientActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
HttpClient client = new DefaultHttpClient();
HttpPost method = new HttpPost("http://192.168.10.204/mysite/");
try {
HttpResponse response = client.execute(method);
int code = response.getStatusLine().getStatusCode();
Log.i("LOG", "Code: " + code);
InputStream stream = response.getEntity().getContent();
String resaut = convertStreamToString(stream);
JSONObject object = new JSONObject(resaut);
int hello = object.getInt("Hello");
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String convertStreamToString(InputStream inputStream)
{
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
try {
String line;
while ((line = reader.readLine()) != null)
{
builder.append(line);
}
return builder.toString();
}
catch (IOException e) {
e.printStackTrace();
}
return "";
}
}
------------------------------------------------------------------------------------------------------
اینم کد php
------------------------------------------------------------------------------------------------------
<?php $array = array(); $array[] = 2; $array[] = 4; $array[] = 6; $array["Hello"] = 8; $array["Hello2"] = "Some String"; $anotherArray = array(); for($i=0;$i<10;$i++) { $anotherArray[] = $i; } $array["Another Array"] = array( "Tset1" => 1, "Test2" => "Hello", 3 => "Mt String", 4 => array( "a" => "abcd", "2" => "efgh", ), "ForLoop" => $anotherArray, ); echo json_encode($array); ?>
+4
0
چه خطایی میده؟؟ اگه خطای JSONException میده یعنی رشته(متغیر String) ی resaut فرمت صحیح جیسون نداره! بهتره یکبار توی مرورگرتون خروجی کد php رو ببینید تا مطمئن بشید کاراکترهای غیرمجاز چاپ نمیشن و خروجی به صورت جیسون صحیح هست یا نه....نتیجه رو کامنت کنید تا ببینیم چکار میشه کرد (10 سال پیش)
0
0
{"0":2,"1":4,"2":6,"Hello":8,"Hello2":"Some String","Another Array":{"Tset1":1,"Test2":"Hello","3":"Mt String","4":{"a":"abcd","2":"efgh"},"ForLoop":[0,1,2,3,4,5,6,7,8,9]}}
سلام دوست عزیز این نتیجه ای هست که از خروجی جیسون میگیم ، اره همین خطارو میده میگه تو متغیر esualt فرمت صحیح نینست اما فرمتم درست میشه امتحانش کنید شما خیلی ممنون (10 سال پیش)
+4
0
این که نوشتید از مرورگرتون کپی کردید یا از LogCat؟؟ (10 سال پیش)
+1
0
از view-source مرورگر (10 سال پیش)
0
0
{"0":2,"1":4,"2":6,"Hello":8,"Hello2":"Some String","Another Array":{"Tset1":1,"Test2":"Hello","3":"Mt String","4":{"a":"abcd","2":"efgh"},"ForLoop":[0,1,2,3,4,5,6,7,8,9]}} (10 سال پیش)
0
0
از توی مرورگر کپی کردم (10 سال پیش)
+4
0
قبل از خطی که JSONObject رو new میکنید مقدار رشته reaut رو توی لاگ چاپ کنید ببینید مقدارشو به عنوان پاسخ توی همین تاپیک قرار بدید... (10 سال پیش)
0
0
توی logcat هم همینو بهم میده چاپش میکنم به نظر شما از کجا مشکل داره ممنون (10 سال پیش)
+4
0
با توجه به خطایی که داره بهتون میده مشکل قطعا اینجاست که رشته ارسالی به سازنده کلاس JSONObject فرمت جیسونی صحیح نداره.. (10 سال پیش)
0
0
دوست عزیز شما میتونید این کدهارو توی سیستم خودتون اجرا بگیرین براتون امکانش هست که تستش کنید . چون الان دو روز هست که اینجا گیر کردم و بقیه موزش هارو هم نمیتونم ببینم چون امزش بعدی هم کار با همین json هستش . ممنونم (10 سال پیش)
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
مسعود فرمانی
10 سال پیش
+4
0
توی کدهای php تون، اون 3 و 4 رو توی دابل کوتیشن بذارید
$array["Another Array"]= array("Tset1"=>1,"Test2"=>"Hello",
3=>"Mt String",//اینجا 4=> array(//و اینجا "a"=>"abcd","2"=>"efgh",),"ForLoop"=> $anotherArray,); echo json_encode($array);
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .