Reputation: 4110
how can I add more than one key to a json file?
NSArray *keys = [NSArray arrayWithArray:allkeys];
NSArray *objects = [NSArray arrayWithArray:allobjects];
NSDictionary *jsonDictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];
As you can see above the key fore jsonDictionary is keys, but I want a key with more keys inside it. I tried "forKeys: keys, keys2" (keys2 another array, but does not work. Now this is the result:
{"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"}
The array keys contains Text1, text2... and the array objects contains Untitled, size... but I want a key "text1" with inside "text writing", "size"... not all together.
May be something like this:
{
"menu": {
"header": "xProgress SVG Viewer",
"items": [
{
"id": "Open"
},
Thanks in advance for the help
Upvotes: 0
Views: 80
Reputation: 1762
You will have to create a hierarchy of nested NSDictionaries to achieve what you want to do.
Something like this:
// 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];
Your example JSON would have the following structure:
A NSDictionary with a key "menu", which holds another NSDictionary. This Dictionary has the key "header", which holds a string, and the key "items" which holds an NSArray of NSDictionaries.
Upvotes: 1