2013-11-25 3 views
0

String을 받고 json Object로 변환하는 함수가 있습니다.json 문자열에 포함 된 날짜

가끔은 함수가 날짜를 인식 할 수 있고 날짜가 필요합니다. (문자열이 아님). 예를 들어

, 나는 함수에 보낼 문자열은 다음과 같이이다 : 첫 번째 예에서,

[{ 
     "age" : 12, 
     "Weigth" : "120.00" 
    }, { 
     "age" : 15, 
     "Weigth" : "110.00" 
    } 
] 

을하지만 : 다른 경우

[{ 
     "date" : new Date(2013 - 01 - 01), 
     "Weigth" : "120.00" 
    }, { 
     "date" : new Date(2013 - 01 - 01), 
     "Weigth" : "110.00" 
    } 
] 

, 문자열은 다음과 같이 표시됩니다 파서가 오류를 발생시킵니다. 이 케이스를 어떻게 감지하고이 속성이있는 파서가 자바 스크립트 객체를 생성하도록 할 수 있습니까?

감사합니다.

+1

은 어떻게 'new Date (2013-01-01)'이 문자열의 일부가됩니까? 이 잘못된 JSOn은 어떻게 생성되지 않습니까? –

+0

JSON이 아니기 때문에 그렇게 할 수 없습니다. 클라이언트가 JS 코드로 응답을 평가하여 협력한다면 가능한 것입니다 (그러나 클라이언트가 서버의 공격에 취약해질 수도 있습니다). – Jon

+2

JSON 날짜에서''{ "d": "2013-11-25T14 : 41 : 24.726Z"} "과 같이 형식이 지정됩니다. – megawac

답변

0

가장 쉬운 방법은 문자열을 eval()하는 것입니다하지만 난 eval()이 쉽게 변환의 수익 가치가 있지 않는 문제가 발생할 수 있습니다 올바른 JSON 대신 때문에 당신이 생성 제안 :

var invJSIN = '[{"date":new Date(2013-01-01),"Weigth":"120.00"},{"date":new Date(2013-01-01),"Weigth":"110.00"}]' 
var something = eval(invJSON) 
관련 문제