javascript - "অপ্রত্যাশিত টোকেন ও" ত্রুটি প্রদান করে JSON পার্স করা




(6)

এই প্রশ্নটি ইতিমধ্যে একটি উত্তর আছে:

আমি সহজ JSON স্ট্রিং বিশ্লেষণ একটি সমস্যা হচ্ছে। আমি JSONLint এ তাদের চেক করেছি এবং এটি দেখায় যে তারা বৈধ। কিন্তু যখন আমি JSON.parse বা jQuery বিকল্প ব্যবহার করে তাদের বিশ্লেষণ করার চেষ্টা করি তখন এটি আমাকে ত্রুটি unexpected token o দেয়:

<!doctype HTML>
<html>
  <head>
  </head>
  <body>
    <script type="text/javascript">
      var cur_ques_details ={"ques_id":15,"ques_title":"jlkjlkjlkjljl"};
      var ques_list = JSON.parse(cur_ques_details);

      document.write(ques_list['ques_title']);
    </script>
  </body>
</html>

দ্রষ্টব্য: আমি পিএইচপি json_encode() ব্যবহার করে আমার স্ট্রিং এনকোড করছি।


আপনার তথ্য ইতিমধ্যে একটি বস্তু। এটা বিশদ প্রয়োজন। জাভাস্ক্রিপ্ট ইন্টারপ্রেটার ইতিমধ্যে আপনার জন্য এটা বিশ্লেষণ করেছে।

var cur_ques_details ={"ques_id":15,"ques_title":"jlkjlkjlkjljl"};
document.write(cur_ques_details['ques_title']);

আপনার ত্রুটির উত্স, যাইহোক, আপনি উদ্ধৃতিতে সম্পূর্ণ JSON স্ট্রিং স্থাপন করতে হবে। নিম্নলিখিত আপনার নমুনা ঠিক করবে:

<!doctype HTML>
<html>
    <head>
    </head>
    <body>
        <script type="text/javascript">
            var cur_ques_details ='{"ques_id":"15","ques_title":"jlkjlkjlkjljl"}';
            var ques_list = JSON.parse(cur_ques_details);
            document.write(ques_list['ques_title']);
        </script>
    </body>
</html>

অন্য উত্তরদাতারা উল্লেখ করেছেন, বস্তু ইতিমধ্যে একটি JS অবজেক্টের মধ্যে বিশ্লেষণ করা হয়েছে তাই আপনাকে এটি বিশদ করতে হবে না। পার্সিং ছাড়া একই জিনিস কীভাবে সম্পাদন করতে হয় তা প্রদর্শনের জন্য, আপনি নিম্নলিখিতগুলি করতে পারেন:

<!doctype HTML>
<html>
<head>
</head>
    <body>
        <script type="text/javascript">
            var cur_ques_details ={"ques_id":"15","ques_title":"jlkjlkjlkjljl"};
            document.write(cur_ques_details.ques_title);
        </script>
    </body>
</html>

আমি এই unexpected token o ভুলটি unexpected token o কারণ আমার (অসম্পূর্ণ) কোডটি পূর্বে (লাইভ লোড লোড!) চালানো হয়েছিল এবং নির্দিষ্ট কীস্থ স্থানীয় স্টোরেজ মানটি {} [object Object] পরিবর্তে {} । আমি কী পরিবর্তন না করা পর্যন্ত এটি ছিল না, যে জিনিস প্রত্যাশিত হিসাবে কাজ শুরু। অন্যথায়, আপনি ভুলভাবে সেট স্থানীয় স্টোরেজ মান মুছে ফেলার জন্য এই নির্দেশাবলী অনুসরণ করতে পারেন।


তাই পার্স চেষ্টা করুন:

var yourval = jQuery.parseJSON(JSON.stringify(data));

JSON.stringify(data); ব্যবহার JSON.stringify(data); :

$.ajax({
    url: ...
    success:function(data){
        JSON.stringify(data); //to string
        alert(data.you_value); //to view you pop up
    }
});

cur_ques_details ইতিমধ্যে একটি JS অবজেক্ট, আপনি এটি পার্স করতে হবে না





json