2010-05-14 6 views
1

자바 스크립트 함수에 전달할 JSON 형식의 데이터가 있습니다 (PHP에서 제공). 이렇게하려고하면 '잘못된 속성 ID'오류가 나타납니다.json 형식으로 데이터를 전달하는 중 잘못된 속성 ID 오류가 발생했습니다.

Error: invalid property id 
Source File: http://localhost/MathVoyager/index.php/test 
Line: 1, Column: 15 
Source Code: 
draw_quadratic({ 

아래는 JS 함수 특성 (데이터 및 옵션 JSON 형식에서)

함수 draw_quadratic (데이터, 옵션, α, β)

다음 샘플 함수 호출이다.

draw_quadratic({"label":"(((1)*x^((1))+(4))*((1)*x^((1))+(6))) = (0)","data":[[-8,8],[-7.5,5.25],[-7,3],[-6.5,1.25],[-6,0],[-5.5,-0.75],[-5,-1],[-4.5,-0.75],[-4,0],[-3.5,1.25],[-3,3],[-2.5,5.25],[-2,8]],"xaxis":1,"yaxis":1}, {"series":{"points":{"show":true},"lines":{"show":true}},"grid":{"hoverable":true,"clickable":true}}, 4, 8); 

+0

좋아, 내 바보 같은 실수 야. 문제는 html 코드에서 발생했습니다. 내가 쓴 <몸의 온로드 = "draw_quadratic ({$ 데이터}, {$ 옵션}, {$ 알파}, {$ 베타});"> (내가 스마티 템플릿을 사용하고 있습니다) 그래서 따옴표 json 문자열에서 언로드가 너무 일찍 종료되었습니다. 작은 따옴표로 큰 따옴표를 바꾸면 문제가 해결되었습니다. 모든 답장을 보내 주셔서 감사합니다. – robert

+0

http://jsonlint.com/을 사용하여 json의 유효성을 검사하십시오. –

답변

-1
mydata= JSON.parse('{"label":"(((1)*x^((1))+(4))*((1)*x^((1))+(6))) = (0)","data":[[-8,8],[-7.5,5.25],[-7,3],[-6.5,1.25],[-6,0],[-5.5,-0.75],[-5,-1],[-4.5,-0.75],[-4,0],[-3.5,1.25],[-3,3],[-2.5,5.25],[-2,8]],"xaxis":1,"yaxis":1}'); 
myoptions= JSON.parse('{"series":{"points":{"show":true},"lines":{"show":true}},"grid":{"hoverable":true,"clickable":true}}'); 
draw_quadratic(mydata,myoptions,4,8); 

'' 또는 "" 그것이 소요 jsonparse하는 매개 변수를 보낼 때 잊지 말고 사전에

감사합니다 (I는 FLOT JS 라이브러리를 사용하여 일부 그래프를 그릴려고) 문자열

PHP에서 당신은 사용할 수 있습니다

  • .json_decode이 - JSON 문자열을
  • .json_encode 디코드 - 값

코드 I의 JSON 표현을 돌려줍니다 크롬에서 나와 함께 작품을 썼다.

관련 문제