첫 번째 방법:
js 함수 eval() 사용;
testJson=eval(testJson);은 잘못된 변환 방법입니다.
올바른 변환 방법에는 ()를 추가해야 합니다: testJson = eval("(" testJson ")");
eval()은 매우 빠르지만 모든 JavaScript 프로그램을 컴파일하고 실행할 수 있으므로 보안 문제가 있습니다. 평가()를 사용합니다. 출처는 신뢰할 수 있어야 합니다. 보다 안전한 json 파서를 사용해야 합니다. 서버가 json을 엄격하게 인코딩하지 않거나 입력이 엄격하게 검증되지 않는 경우 잘못된 json을 제공하거나 위험한 스크립트가 포함되어 eval()에서 스크립트를 실행하고 악성 코드를 릴리스할 수 있습니다.
js 코드:
함수 ConvertToJsonForJs() {
//var testJson = "{ 이름: 'Xiaoqiang', 나이: 16 }" (지원됨)
//var testJson = "{ 'name': 'Xiaoqiang', 'age': 16 }" (지원됨)
var testJson = '{ "name": "Xiaoqiang", "age": 16 }';
//testJson=eval(testJson);//잘못된 변환 방법
testJson = eval("(" testJson ")");
경고(testJson.name);
}
두 번째 방법은 jquery.parseJSON() 메서드를 사용하는데, 이는 json 형식에 대한 요구 사항이 더 높고 json 형식을 준수해야 합니다.
jquery.parseJSON()
js:코드
함수 ConvertToJsonForJq() {
var testJson = '{ "name": "Xiaoqiang", "age": 16 }';
// 모르겠다
//'{ 이름: "Xiaoqiang", 나이: 16 }' (이름은 큰따옴표로 묶지 않음)
//"{ 'name': "Xiaoqiang", 'age': 16 }" (이름은 작은따옴표를 사용함)
testJson = $.parseJSON(testJson);
경고(testJson.name);
}