2014-03-24 6 views
0

내가이 형식으로 데이터를 수신하고있어 웹 응용 프로그램을 개발했습니다에 값 : poblem이 데이터가- 노드 서버에서 자바 스크립트

"{""elements":[{"10sr2b2":{"total":0,"bad":22,"clients":["fc8e7f","fc8e7e"],"zone":"101900"}}]}" 

배열입니다 "elements"라는 키 - 값. 여기서 "10sr2b2"는 배열의 첫 번째 요소의 키입니다. "10sr2b2는"이 해야하는

elements: Array[1] 
    0: Object 
    10sr2b2: Object 
     zone: "101900" 
     clients: Array[2] 
     0: "fc8e7f" 
     1: "fc8e7e" 
     length: 2 
     __proto__: Array[0] 
    bad: 22 
    total: 0 

키로하고이 객체의 난이 값을 얻을 필요가 : 나는 $ .parseJSON() 메서드를 호출 할 때

그래서,이 같은 객체를 반환 어쩐지.

도와 주시겠습니까?

+1

'개체입니다 for..in 루프를 사용할 수 있습니다 key ": Array [Object {"key ": Object {...}}]}'당신이 파싱 할 때 보듯이. _Objects_에서 키를 찾을 수는 있지만, 서버가 당신에게'Object { "key": Array [Object { "key": "hash", "value": Object {...}}]}'이제 o.elements [i] .key;와 o.elements [i] .value'를 사용할 수 있습니다. –

+0

키를 시작하는 것이 좋지 않은 생각입니다 번호가 – DDK

답변

1

당신은 객체 키를 얻기 위해 Object.keys을 사용할 수 있습니다 : 그것은 더 뭔가를 보낼 필요가있다. 당신은 당신이 항상 각 항목에 대한 하나의 키를해야합니다 알고있는 경우

var keys = Object.keys(data.elements[0]); 
0

노드 서버에서 형식을 변경할 수 있습니까?

"{""elements":[{"key": "10sr2b2" "value": {"total":0,"bad":22,"clients":"fc8e7f","fc8e7e"],"zone":"101900"}}]}"

+0

안녕하세요, 귀하의 기여에 감사드립니다, 불행히도이 형식을 변경할 수 없습니다. –

+0

하지만 구문 분석하기 전에 수신 된 데이터를이 형식으로 변환 할 수 있습니까? – Starscream1984

+0

No. 이것은 예제 데이터입니다. 나는 많은 양의 데이터를 기대하고 있으며 수신 된 데이터를이 포맷으로 변환하는 것은 불가능합니다. –

0

, 당신은 "{그 예를 들어 즉시 break의,

귀하의 _JSON_이 형식은
var i, key, obj = $.parseJSON(/*...*/); 
for (i = 0; i < obj.elements.length; ++i) { // loop over elements 
    for (key in obj.elements[i]) break; // get key 
    // now can access 
    obj.elements[i][key]; // Object 
} 
관련 문제