如何创建下面给出的JSON数组字符串?

时间:2012-01-17 10:25:03

标签: iphone xcode json arrays

我想创建并发送下面给出的JSON数组字符串: 我正在使用JSON Framework,它可以解析JSON数组但是如何 创建JSON数组

{
"deferred": [
   {
       "API": "Test1",
       "data": "{\"uid\":\"16\",\"cid\":\"22\",\"watch\":\"12\"}",
       "timestamp": "12-01-2012 16:05:45"
   },
   {
       "API": "Test2",
       "data": "{\"uid\":\"16\",\"cid\":\"22\"}",
       "timestamp": "12-01-2012 16:05:45"
   },
   {
       "API": "Test3",
       "data": "{\"uid\":\"16\",\"cid\":\"22\",\"type\":\"n\"}",
       "timestamp": "12-01-2012 16:05:45"
   }
]
}

任何建议?

3 个答案:

答案 0 :(得分:3)

留下答案总结一切。

正如我在评论中提到的,它是字典中数组中的字典。

字典:

{
   "API": "Test1",
   "data": "{\"uid\":\"16\",\"cid\":\"22\",\"watch\":\"12\"}",
   "timestamp": "12-01-2012 16:05:45"
},
{
   "API": "Test2",
   "data": "{\"uid\":\"16\",\"cid\":\"22\"}",
   "timestamp": "12-01-2012 16:05:45"
},
{
   "API": "Test3",
   "data": "{\"uid\":\"16\",\"cid\":\"22\",\"type\":\"n\"}",
   "timestamp": "12-01-2012 16:05:45"
}

可以这样创建:

NSDictionary *dict3 = [NSDictionary dictionaryWithObjectsAndKeys:@"Test3", @"API"
                      @"{\"uid\":\"16\",\"cid\":\"22\",\"type\":\"n\"}", @"data"
                      @"12-01-2012 16:05:45", @"timestamp"
                      , nil];

这些词典存储在一个数组中。

NSArray *theArray = [NSArray arrayWithObjects: dict1, dict2, dict3, nil];

或者您可以创建NSMutableArray并在创建后立即添加词典。

那个数组在字典中:

NSDictionary *theBigDictionary = [NSDictionary dictionaryWithObject:theArray forKey:@"deferred"];

希望有所帮助:)

答案 1 :(得分:0)

SBJSON 对此非常有用。为了更好的指导Tutorial: JSON Over HTTP On The iPhone

SBJSON将像...一样工作。

SBJSON *json = [[SBJSON new] autorelease];  
NSMutableArray *ArrayResponse = [[NSMutableArray alloc] initWithArray:[json objectWithString:responseString error:nil]];

答案 2 :(得分:0)

首先你把你的json响应放在字典中 然后传入数组