jQuery getJ올바른 JSON에 대한 SON 구문 오류
저는 다음 json 서류를 가지고 있습니다.
// json.json
[
{
"title":"title1",
"value":12234
},
{
"title":"title2",
"value":"some text"
},
{
"title":"title3",
"value":"12qwerty234"
},
{
"title":"title4",
"value":123.5
}
]
저는 jQuery를 사용해서 로딩하고 있습니다.코드는 다음과 같습니다.
$(document).ready(function(){
$.getJSON("json.json", {},function(result){
$.each(result, function(i, obj) {
$("form").append($('<label for="'+i+'">'+obj.title+'</label>'));
$("form").append($('<input id="'+i+'" value="'+obj.value+'" type="text"/><br>'));
});
});
});
문제는 파이어폭스에서 구문 오류가 발생한다는 것입니다.로딩합니다json.json
로컬 파일로서.다음은 스크린샷입니다(오류는 "1라인의 구문 오류"라고 표시됨).
참고로 해당 양식이 성공적으로 생성되었습니다.
편집 : python을 실행할 때 Chrome의 다른 스크린샷입니다.SimpleHTTPServer
:
이런 일이 발생하는 이유는 로컬 파일을 사용하고 있으므로 "text/xml"의 마임 유형이 암시되므로 Firefox는 XML로 구문 분석을 시도합니다..responseXML
기본 XHR 객체에 대한.물론 실패합니다.
이를 무시하거나 다음을 지정할 수 있습니다.mimeType
당신 자신:
$.ajax({
dataType: "json",
url: "json.json",
mimeType: "application/json",
success: function(result){
$.each(result, function(i, obj) {
$("form").append($('<label for="'+i+'">'+obj.title+'</label>'));
$("form").append($('<input id="'+i+'" value="'+obj.value+'" type="text"/><br>'));
});
}
});
PS: 일반 XHR을 사용하면 사용할 수 있습니다.
웹 서버에서 동일한 코드를 실행했는데 구문 오류가 발생하지 않습니다.file:///에서 로드할 때 구문 오류가 발생하지만 기본적으로 "scheme"입니다.
json 파일 때문에 발생한 오류는 로컬 파일인 것 같습니다.nginx나 apache 같은 웹 서버를 로드해 보십시오.
json을 올바르게 설정하는 동안 json에서 구문 오류 4라는 동일한 문제에 직면했습니다.
해결책을 찾지 못하고 json을 php array로 만드는 방법을 사용했습니다.그래도 유용하다고 판단되면 똑같이 사용할 수 있습니다.
샘플 코드:
$json = '
{
"title":"title4",
"value":123.5
}';
$json = str_replace("{", "", $json);
$json = str_replace("}", "", $json);
$jsonArr = explode(",", $json);
$jsonArray = array();
foreach($jsonArr as $json){
$jsonTmpArr = explode(":", $json);
$jsonArray[trim($jsonTmpArr[0])] = trim($jsonTmpArr[1]);
}
print_r($jsonArray);
언급URL : https://stackoverflow.com/questions/18291390/jquery-getjson-syntax-error-on-a-valid-json
'programing' 카테고리의 다른 글
프로그램 stdout 및 stderr을 개별 변수로 캡처 (0) | 2023.09.10 |
---|---|
cs 플렉스박스에 래핑할 요소를 지정하는 방법? (0) | 2023.09.10 |
필터를 고려한 열의 중위수는 어떻게 구합니까? (0) | 2023.09.10 |
PySpark의 테이블 데이터 프레임을 csv로 내보내는 방법은 무엇입니까? (0) | 2023.09.10 |
다른 열에 그룹화된 평균값을 계산하는 방법 (0) | 2023.09.10 |