1 Star2 Stars3 Stars4 Stars5 Stars
Loading...Loading...

» JSON.parse() – უცნაური შეცდომა და მისი აღმოფხვრა

ადრეც ბევრჯერ გამომიყენებია ჯავასკრიპტში JSON.parse() და უპრობლემოდ ფუნქციონირებდა, მაგრამ საქმე იმაშია, რომ ლოკალურზე ანუ localhost-ზე არასოდეს მქონია მისი გამოყენების აუცილებლობა (ასე მგონია).

ხოდა რაშია საქმე ეს დღეები რაღაც პროექტზე ვმუშაობ სადაც აჯაქს (ajax) ვიყენებ, უფრო სწორედ აჯაქს jQuery-ის გავლით, ხოდა localhost-ზე მშვენივრად მიბრუნებდა პასუხს json-ის ფორმატში და ისეც :

პასუხი მაგალითად ვიზუალურად ასე ჩანდა :

[{"id":"8"}]

მაგრამ როცა ამ დაბუნებულ პასუხს ვდებდი JSON.parse()-ში სინტაქსურ შეცდომას მიჩვენებდა…
აი შეცდომის ტექსტი:

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

ხოდა მოკლედ ძალიან გამაწვალა ვერ გავიგე რა სურდა, მერე მოვაკოპირე პასუხი და notepad-ში რომ გადავიტანე აი რა გამოჩნდა:

??[{"id":"8"}]

შემდეგ თუკი PHP ფაილს utf8-ში შევინახავდი ასეთ პასუხს მიჩვენებდა :

????[{"id":"8"}]

ეს იყო ცარიელი ზონები ამიტომ ავდექი და ასეთ ხერხს მივმართე :

replace(/\s+/g, ' ')

რომლითაც ვასუფთავებდი დაბრუნებულ პასუხს ზედმეტი სიცარიელებისაგან, მაგალითად :

res = '????[{"id":"8"}]';
JSON.parse(res.replace(/\s+/g, ' '));

ეგ იყო და ეგ, აღარანაირი შეცდომა 😉

© აქ გამოქვეყნებული ნებისმიერი რესურსის გამოყენება, დასაშვებია მხოლოდ მისივე გვერდის ბმულის წყაროდ მითითებით!

დატოვე კომენტარი↓

*გთხოვთ წეროთ ქართული ასოებით

 

 

XHTML: დამხმარე კოდები: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

6 votes, average: 4.33 out of 56 votes, average: 4.33 out of 56 votes, average: 4.33 out of 56 votes, average: 4.33 out of 56 votes, average: 4.33 out of 5

› ჰიდროელექტროსადგური “სამი ხეობა”

მსოფლიოში ყველაზე დიდი ჰიდროელექტროსადგური სახელად “სანსია” ანუ ქართულად “სამი ხეობა”, მდებარეობს ჩინეთში, ქ. სანდოუპინის სიახლოვეს ჰუბეის პროვინციის იჩანის ოლქში, მდინარე იანცზიზე.
მისი მშენებლობა 1992 წელს დაიწყო და დასრულება დაგეგმილია 2010 წელს, › › ›

DU