2016-09-01 3 views
0

JSON 문자열을 구문 분석하려고합니다.JSON 구문 분석 JavaScript

다음은 샘플 JSON 문자열입니다.

{ 
    "className":"Rectangle", 
    "data":{ 
     "x":685, 
     "y":283, 
     "width":179, 
     "height":169, 
     "strokeWidth":5, 
     "strokeColor":"#000", 
     "fillColor":"rgba(224,224,224,0.28)" 
    }, 
    "id":"c4c49b39-d0cd-f7c7-ea89-356753051de2" 
} 

다음은 구문 분석 할 코드입니다. 여기

var obj; 
obj = JSON.parse({ 
    "className": "Rectangle", 
    "data": { 
     "x": 685, 
     "y": 283, 
     "width": 179, 
     "height": 169, 
     "strokeWidth": 5, 
     "strokeColor": "#000", 
     "fillColor": "rgba(224,224,224,0.28)" 
    }, 
    "id": "c4c49b39-d0cd-f7c7-ea89-356753051de2" 
}); 
console.log(obj.className); 

내가 X 및 Y 값에 접근 할 필요가

Uncaught SyntaxError: Unexpected token o in JSON at position 1

던져 오류입니다.

+4

문자열이 아닌 개체를 구문 분석하려고합니다. 'var obj = { "className": "Rectangle", "data": { "x": 685, "y": 283, "width ": 179,"height ": 169,"strokeWidth ": 5,"strokeColor ":"# 000 ","fillColor ":"rgba (224,224,224,0.28) "},"id ":"c4c49b39-d0cd-f7c7- ea89-356753051de2 "}; ("x": 685, "y"); var.java.parse ('{ "className": "Rectangle", "data" : 210, "fillColor": "rgba (224,224,224,0.28)"}, "id": "c4c49b39", "width": -d0cd-f7c7-ea89-356753051de2 "} '); console.log (obj.className); ' –

답변

1

의 값에 액세스 할 수 있습니다, 당신은 var obj = {} 객체를 생성하고 var arr = [] 배열을 생성 자바 스크립트 객체를 읽기 위해 노력하고 있습니다.

는하지만 :

obj = JSON.parse('{ "className": "Rectangle", "data": { "x": 685, "y": 283, "width": 179, "height": 169, "strokeWidth": 5, "strokeColor": "#000", "fillColor": "rgba(224,224,224,0.28)" }, "id": "c4c49b39-d0cd-f7c7-ea89-356753051de2" }'); 

그런 console.log(obj.className); 출력됩니다 Rectangle : 당신이 JSON을 구문 분석해야하는 경우 단순히 IT는 JSON 문자열입니다 파서 에게 시작 부분과 끝 부분에 '을 넣어.

+1

고맙습니다. 나는 처음부터 돌보는 것을 잊었다. – NewPHPer

2

당신은 직접 x와 y 언급 한 바와 같이

var arr = { "className": "Rectangle", "data": { "x": 685, "y": 283, "width": 179, "height": 169, "strokeWidth": 5, "strokeColor": "#000", "fillColor": "rgba(224,224,224,0.28)" }, "id": "c4c49b39-d0cd-f7c7-ea89-356753051de2" }; 
var x = arr.data.x; 
var y= arr.data.y