2012-05-03 4 views
0

node.js 서버에 JSON을 통해 객체를 POST하려고합니다.JSON 중첩 객체가 node.js 서버에 게시됩니까?

Object 구조가 중첩되어 node.js 서버 사이트에서 제대로 수신 및 구문 분석되지 않습니다.

EDIT2


내가 용액 발견 응답 섹션 참조 ... I 발견


편집

 console.log(body); 

자체 출력

,

VAL1 = 헬로 &을 val2 % 5Bval3 %의 5D = 세계

// = { "VAL1": "안녕", "을 val2 [val3]": "세계"}

weired JSON 방법


client.js

var data ={val1:"hello",val2:{val3:"world"}}; 
    console.log(data); // -> *1 
    $.ajax({ 
     url:"/", 
     type:"POST", 
     dataType: 'json', 
     data:data, 
     success:function (res) 
     { 
      resHandler(res); 
     } 
    }); 

* 1 ChromeDevel opersTool

객체

VAL1 : "안녕하세요"

을 val2 : 개체

val3 "세계"


server.js

var onreq = function (req, res) 
{ 
    if(req.method == 'POST') 
    { 
     var body = ''; 
     req.on('data', function (data) 
     { 
      body += data; 
     }); 
     req.on('end', function() 
     { 
      var json = qs.parse(body); 
      console.log(json.val1); //hello 
      console.log(json.val2); //undefined 
      console.log(json.val3); //undefined 

      console.log(JSON.stringify(json)); 
      //{"val1":"hello","val2[val3]":"world"} 
     }); 
    } 

,515,

제가

을 val2는 [val3] 그러나 val2.val3

,


문제 이해 1

JSON.stringify는

{ "VAL1을 출력 ":"hello ","val2 [val3] ":"world "}

,

하지

{val1과 "안녕하세요"을 val2 : {val3 "세계"}}

그것은 추한하고, 그런 이유를 모르겠어요.


내가 {val3 "세계"} 얻을 수 없다 2

문제

을 console.log (json.val3); // undefined


누구나 설명 할 수 있으며 중첩 된 JSON을 node.js 서버에 POST 할 수 있습니까?

감사합니다.

+0

을 만들어 캐릭터 라인 JSON

를 사용하는 대신, JSON jQuery를 아약스에 데이터를 입력 사용하지 마십시오'JSON.parse' -.- – Raynos

+0

'JSON.stringify'는 나에게 올바른 "012"("val1": "hello", "val2": { "val3": "world"}} ""를 의미합니다. – hvgotcodes

+0

JSON.parse qs.parse를 대체하는 것을 포함하여 장소의. 이 경우 출력은 정의되지 않음 > 예기치 않은 토큰 v –

답변