2012-05-06 2 views
0

json 파일에 둘 이상의 키를 추가하려면 어떻게해야합니까?JSON iPhone에 더 많은 키 삽입

NSArray *keys = [NSArray arrayWithArray:allkeys]; 
NSArray *objects = [NSArray arrayWithArray:allobjects]; 

NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; 

앞에서 볼 수 있듯이 jsonDictionary는 키이지만 더 많은 키가있는 키를 원합니다. 나는 "forKeys : 키, keys2"시도했다. :

{"text2":"Untitled {{400, 100}, {200, 100}} <UICFFont: 0x2c3960> font-family: \"Helvetica\"; font-weight: normal; font-style: normal; font-size: 12px","text3":"Untitled {{400, 100}, {200, 100}} <UICFFont: 0x2c3960> font-family: \"Helvetica\"; font-weight: normal; font-style: normal; font-size: 12px","text1":"Untitled {{400, 100}, {200, 100}} <UICFFont: 0x2c3960> font-family: \"Helvetica\"; font-weight: normal; font-style: normal; font-size:  12px"} 

배열의 키를 텍스트 1, 텍스트 2를 포함 ... 그리고 배열 객체의 크기를 제목 없음 포함 (keys2 다른 배열을하지만, 작동하지 않는 지금 이것은 결과입니다 ...하지만 난 모든 함께 내부의 "텍스트 입력", "크기"...와 키 "텍스트 1"을 원하는

이 같은 될 수있다. 사전에

{ 
"menu": { 
    "header": "xProgress SVG Viewer", 
    "items": [ 
     { 
      "id": "Open" 
     }, 

감사합니다 도움

답변

1

원하는 것을 얻기 위해 중첩 된 NSDictionaries의 계층 구조를 만들어야합니다. 이 같은

뭔가 : 다른있는 NSDictionary를 보유하고 키 "메뉴"와

있는 NSDictionary :

// the following objecst are just dummies, fill this with your own objects 
NSArray *objectArray = [NSArray arrayWithOjects:obj1,obj2,obj3,nil]; 
NSArray *keyArray = [NSArray arrayWithOjects:@"key1",@"key2,@"key3",nil]; 

NSDictionary *subDict = [NSDictionary dictionaryWithObjects:objectArray forKeys:keyArray]; 

// now create the main dictionary, which will hold your sub dictionary for one key 
objectArray = [NSArray arrayWithObjects:,subDict,someObject,@"just a string"]; 
keyArray = [NSArray arrayWithObjects:@"first key",@"second key",@"third key"]; 

NSDictionary *mainDict = [NSDictionary dictionaryWithObjects:objectArray forKeys:keyArray]; 

귀하의 예를 JSON은 다음과 같은 구조를 가지고있다. 이 사전에는 문자열을 보유하는 "헤더"키와 NSDictionaries의 NSArray를 보유하는 키 "항목"이 있습니다.

관련 문제