2013-05-07 4 views
0

다음과 같이 내가 한 JSON 객체와 하나 개의 배열을 가지고 :JSON에서 포인터를주는 방법은 무엇입니까?

c = [{groupId:1, 
     "group":[{"aId":pointer to a json,"bId":pointer to b array 
       },{"aId":pointer to a json,"bId":pointer to b array 
       }] 
    }]; 

그것을인가 :

a = [{"id":1,"content":"aaa"},{"id":2,"content":"bbb"}]; 
b = ["a.jpg","b.jpg"]; 

지금 내가이 JSON과 배열을 가리키는 또 하나의 JSON 개체, 같은 뭔가를 만들려면 자바 스크립트에서 가능 ??

+1

실제로 JSON (JSON은 객체의 문자열로 인코딩 된 버전 임) 또는 JS 객체를 말하고 있습니까? 첫 번째 경우는 불가능합니다. 두 번째 경우는 쉽습니다. –

+0

두 개의 어레이가있는 것처럼 보입니다. 하나의 배열은 두 개의 객체를 포함하고, 다른 배열은 두 개의 문자열을 포함합니다. – Barmar

답변

6

당신은 할 수 없습니다 (JSON 표기법에있는 포인터 또는 참조 자료 참조).

당신은 (예를 들어), {"refId": 1} 같은 JSON 객체가 응용 프로그램-는 JSON "id":1으로 디코딩 된 것은 일부 "포인터"로 의미하지만 당신이 코드 등이 자신의 대회를 정의 할 수있다 그에 대한.

FWIW는 YAML 표기법은

+0

어떻게 코딩 할 수 있습니까? u는 약간의 예를 줄 수 있냐?? – SSS

4

(anchorsaliases와) 참조 이론적으로는 가능할 것이다,하지만 최대한 빨리 다른 시스템에 JSON을 보내기로, 포인터가 무효가 될 것이다있다.

  1. 둥지 배열 원래 JSON

  2. 참조 ID의 일종으로 배열 및 JSON에서 JSON :

    당신은 문제를 해결하기 위해이 가능성을 가지고있다. 이 두 번째 접근 방식은 송신 측과 수신 측 모두에서 더 많은 작업이 필요하지만 은 json에서 사용하는 공간을 줄입니다.

1

는 JSON 구조의 포인터의 개념을 소개하는 제안 된 표준RFC 6901: JavaScript Object Notation (JSON) Pointer,있다. 예를 들어

,

{ 
    "foo": ["bar", "baz"], 
    "": 0, 
    "a/b": 1, 
    "c%d": 2, 
    "e^f": 3, 
    "g|h": 4, 
    "i\\j": 5, 
    "k\"l": 6, 
    " ": 7, 
    "m~n": 8 } 

다음 JSON 문자열을 첨부 한 값으로 평가 JSON 문서 주어진 :

""   // the whole document 
"/foo"  ["bar", "baz"] 
"/foo/0"  "bar" 
"/"   0 
"/a~1b"  1 
"/c%d"  2 
"/e^f"  3 
"/g|h"  4 
"/i\\j"  5 
"/k\"l"  6 
"/ "   7 
"/m~0n"  8 
여기

는 RFC 찍은 예는

0과 같이이 RFC를 지원하는 패키지도 있습니다..

관련 문제