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

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

hossein_hr10  10 سال پیش  10 سال پیش
0 0

سلام 

من در قسمت یازده اموزش ها برای خوندن اطلاعات با 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);
0 0
انجام دادم اما بازم همین خطارو میده org.json.JSONException: Value  of type java.lang.String cannot be converted to JSONObject اخه چرا اینجوریه من مثل کدای استاد نوشتم :'( (10 سال پیش)
0 0
من الان دو روز تو همین قسمت موندم و واقعا نمیدونم از چی هست ;'( (10 سال پیش)
+4 0
آقا من الان رشته جیسونتون رو چک کردم هیچ خطایی نگرفتم و تونستم مقدار hello رو ازش بخونم(قاعدتا این خطایی که نوشتید رو نباید بده!!) بذارید بقیه دوستان ببینند شاید مشکل مشابه شما واسشون پیش اومده باشه... (10 سال پیش)
0 0
ممنون دوست عزیز ، با همین کدهای من امتحان کردین؟ خطا نداد؟ نمیدونم چرا از من خطا میگیره (10 سال پیش)
+2 0
درست شد مشکلش رو فهمیدم ممنون از شما دوست عزیز شما با تست کردن برنامه باعث شدی تا من به فایل php شک کنم من فایل php رو با encoding : utf-8 ذخیره کرده بودم که باید رو همون encoding : ansi میبود ولی اصلا فک نمیکردم که مشکل از این باشه ممنونم از شما (10 سال پیش)
+2 0
دوست من خوشحالم که به جوابتون رسیدید، آقا مسعود واقعا لطف کردند و پا به پای شما، شمارو به پاسختون رسوندند، کمترین پاداشی که میتونید به ایشون بدید لایک کامنتهایی هستش که برای راهنمایی شما فرستادند، شما با همین کار به ایشون انگیزه سنت خوب پاسخ دادن در انجمن رو میدید، با سپاس (10 سال پیش)

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