JSON.pars অপ্রত্যাশিত অক্ষর ত্রুটি


112

আমি এই ত্রুটি পেয়েছি:

JSON.parse: অপ্রত্যাশিত চরিত্র

যখন আমি ফায়ারবগে এই বিবৃতিটি চালিত করি:

JSON.parse({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false});

এটা এমন কেন? জেএসএন স্ট্রিংটি আমার কাছে সঠিক বলে মনে হচ্ছে এবং আমি জেএসহিন্ট ব্যবহার করে এটিও পরীক্ষা করেছি। উপরের ক্ষেত্রে পাস করা অবজেক্টটি কনটেন্ট টাইপের সাথে সেট করা একটি সার্ভার প্রতিক্রিয়াapplication/json

উত্তর:


224

আপনি কোনও স্ট্রিংকে পার্স করছেন না, আপনি ইতিমধ্যে পার্স করা বস্তুকে পার্স করছেন :)

var obj1 = JSON.parse('{"creditBalance":0,...,"starStatus":false}');
//                    ^                                          ^
//                    if you want to parse, the input should be a string 

var obj2 = {"creditBalance":0,...,"starStatus":false};
// or just use it directly.

আমি প্রথম বাক্যে উর্ধ্বতন করতে চাই, তবে আপনি কেন পুনরায় পার্স করবেন?
ম্যাথলেটিক্স

1
@ মার্সেলকর্পেল, ম্যাথলেটিক্স: ঠিক আছে। আপডেট করা হয়েছে।
কেনেটিএম

@ ম্যাথলেটিক্স সমস্ত অ্যাকাউন্টে জেএসওএন.পার্স কিছু সুরক্ষা চেক করে। এনটি
বিএফ

5
যে অত্যধিক হাসিখুশি. এটা ভাল। <3
ডারথ এগ্রিজিয়াস

1
আমি ডেটা.সাল্টস (ডেটা একটি জেএসএন অবজেক্ট) এ অপরিজ্ঞাত হয়ে যাচ্ছি। স্ট্যাক আমাকে ডেটা = JSON.parse (ডেটা) দ্বারা এটি একটি জেএস অবজেক্ট তৈরি করতে বলছে। তবে আমি JSON.parse অপ্রত্যাশিত চরিত্রের ত্রুটি পাচ্ছি।
কাস্পারট্রি

35

আপনি নিশ্চিত করতে পারেন যে প্রশ্নে থাকা অবজেক্টটি কেবল ব্যবহার করে পার্স ফাংশনে পাস করার আগে স্ট্রিংফায়েড হয়েছে JSON.stringify()

নীচে আপনার লাইন আপডেট করেছেন,

JSON.parse(JSON.stringify({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}));

অথবা যদি আপনার কিছু ভেরিয়েবলে জেএসএন সংরক্ষণ করা থাকে:

JSON.parse(JSON.stringify(yourJSONobject));

3
JSON.stringify হ'ল বস।
কেনমিস্টার

-1

ওপি-র ক্ষেত্রে সত্য নয়, তবে এই ত্রুটিটি স্ট্রিংয়ের জন্য 'ডাবল ( ") এর পরিবর্তে একক উদ্ধৃতি চিহ্ন ( ) ব্যবহার করে হতে পারে ।

তাদেরকে JSON বৈশিষ্ট স্ট্রিং জন্য ডবল উদ্ধৃতি চিহ্ন প্রয়োজন।

উদাহরণ:

JSON.parse(`{"myparam": 'myString'}`)

ত্রুটি দেয়, যদিও

JSON.parse(`{"myparam": "myString"}`)

না. চারপাশে উদ্ধৃতি চিহ্ন নোট করুন myString

সম্পর্কিত: https://stackoverflow.com/a/14355724/1461850

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.