2012-06-04 1 views
0

우리는 json의 덩어리를 node/faye로 보내고 중첩 된 배열에 몇 가지 문제가 있습니다. 다음은 JSON입니다 :node.js rested json

{ 
    "event_189420": { 
     "num_horses": 11, 
     "sport_name": "horse", 
     "conditions": "", 
     "ort": 13, 
     "result_4": [], 
     "sis": "", 
     "fixed_odds": false, 
     "event_class": "Attele - Course G (trot)", 
     "event_desc": "Prix de L'U.N.A.T.", 
     "non_runners": "", 
     "event_id": 189420, 
     "tek": "", 
     "distance": "2650m", 
     "good_result_count": 0, 
     "result_prices": {}, 
     "result_1": [], 
     "ticker": "", 
     "prize": "6000 EUR", 
     "result_2": [], 
     "race_name": "Bordeaux Le Bouscat", 
     "big_screen": true, 
     "horses": [ 
      [ 
       "Qu'Il Vive del Sol", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Rocky du Bordage", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Reve", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Rafale des Racques", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Releve du Liard", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Nichtstarter", 
       false, 
       "****", 
       "****", 
       "", 
       "", 
       "", 
       "", 
       true, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Rire Eclatant", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Quinquin", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Pacific d'Yvel", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Romain de Godisson", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ], 
      [ 
       "Rhapsodie Models", 
       false, 
       "", 
       "999", 
       "", 
       "", 
       "", 
       "", 
       false, 
       "", 
       false, 
       false, 
       "OK" 
      ] 
     ], 
     "starting_time": "16:10", 
     "result_3": [], 
     "race_status": "open", 
     "small_screen": true, 
     "pmsg": "", 
     "race_num": 8 
    } 
} 

당신이 '빈'요소 (단지 "")이 많이있다 볼 수 있듯이. '최상위 레벨'객체의 경우 이것은 괜찮습니다. 우리는 '키'를 얻습니다 : ''. 그러나 하위 배열 (이 경우 '말')의 경우 "" 요소는 간단히 제거됩니다.

이것은 클라이언트 측에서 발생해야합니다. 서버 측에서 볼 수있는 모든 것이 괜찮습니다. 심지어 파일에서 가져온 정적 json을 사용하는 경우에도 클라이언트에서 동일한 동작을 보입니다.

노드가 잘못되었거나 node/faye 문제입니까?

+2

JSON 데이터 대신 일부 처리 코드를 게시해야합니다. – elmigranto

답변

-1

배열에 자리 표시자를 작성해야하는 경우 빈 문자열 대신 NULL을 사용하십시오.

+0

무시되는 빈 문자열에 대한 참조를 찾을 수 없습니다. 그물을 가로 지르는 JSON 테스트 스위트는 V8의'JSON.parse'뿐만 아니라 이들을 무시하지 않는다. – lanzz

+0

테스트중인 브라우저는 무엇입니까? IE는 JSON.parse를 사용하고 빈 문자열을 만날 때 예상대로 작동하지 않습니다. 이 토론을 참조하십시오. http://stackoverflow.com/questions/1543791/json-empty-string – srquinn

+0

크롬 - 빈 문자열을 문자열로 바꾸거나 구문 분석하는 데 문제가 없습니다. 여러분이 이야기하는 질문은 실제로 인코딩 변환에 실패한 공백 문자열을 논의하는 것으로 보입니다. 따라서 JSON에서 null 값이 발생합니다. http://www.json.org/의 문법은 문자열이 길이가 0 일 수 있으며 문자열이 배열에서 값으로 나타날 수있는 것을 제한하지 않는다고 명시 적으로 명시합니다. – lanzz