sourcecode

JSON.parse: 속성 이름 또는 '}'이(가) 필요합니다.

codebag 2023. 2. 22. 21:54
반응형

JSON.parse: 속성 이름 또는 '}'이(가) 필요합니다.

데이터 내용(/)"/):

 {"test":"101","mr":"103","bishop":"102"}

스크립트:

console.log($.parseJSON(result));

오류가 발생하고 있습니다.

JSON.parse: expected property name or '}'.

JSON 파일에서 작은따옴표를 사용할 때 동일한 문제가 발생했으며 모든 문자열 속성/값에 대해 큰따옴표로 변경되어 현재 정상적으로 작동합니다.

변경:

JSON.parse("{'wrongQuotes': 5}") 

수신인:

JSON.parse('{"rightQuotes": 5}')

부호화된 JSON을 수신하고 있는 경우"의 각 인스턴스를 교환해야 합니다."참말과 함께"하기 전에JSON.parse. 예를 들면:

myJSONstring.replace(/"/ig,'"');

내 경우는 더 간단했다.

JSON과 플레인 JS를 혼동했기 때문에 오브젝트 키를 큰따옴표로 묶지 않았습니다.

❌:

{
    title: "Hello World!"
}

✅:

{
    "title": "Hello World!"
}

아이러니하게도, 우체부가 이걸 나한테 강조해줬지만 난 무시했어.잠은 해답이다.

라라벨 블레이드를 사용하여 뷰에서 JS 변수를 선언하는 모든 사용자에게 적합합니다.

다음을 사용해야 합니다.

var json = JSON.parse('{!! $json !!}');

그렇지 않으면 인용구가 "로 해석되기 때문에 이 오류가 발생합니다.

바꾸다
{"test":"101","mr":"103","bishop":"102"}
로.
'{"test":"101","mr":"103","bishop":"102"}'

이것이 서버(PHP)로부터 송신되는 경우
<?php $php_var = ["test" => "101", "mr" => "103", "bishop" => "102"]?>

후 Javascript에서
var javascript_var = $.parseJSON('<?= json_encode($php_var) ?>');

예를 들어, 만약 당신이 이런 것을 얻어진다면

{ " location " : " { ' lat " : 4 . 6351144 , " lng " : - 74 . 1201199999 }

또는 최근에 잘못된 변환 형식을 얻습니다.먼저, 당신의 끈을 잡으세요.

myItemString = "{'lat': 4.6351144, 'lng': -74.12011199999999}"

키를 치환하고 나중에 json.http, 'key'를 ---> 'key'로 변경합니다.

     const key1 = myItemString.replace("'lat'",'"lat"')
      const key12 = key1.replace("'lng'", '"lng"');
      const obj = JSON.parse(key12)
      console.log(obj)
/* suppose your json are single quote, it's necessary replace it single quote before, a simple example*/

let ojson = "{'name':'peterson'}";
ojson = ojson.replace(/'/g, '"');
ojson = JSON.parse(ojson);
console.log(ojson['name'])

해석하기 전에 문자열화를 사용해 볼 수 있습니다.JSON.parse(JSON.stringify(result))

언급URL : https://stackoverflow.com/questions/8013582/json-parse-expected-property-name-or

반응형