2011-08-09 43 views
3

我在iPhone上App.I工作必须JSON字符串返回到Web服务在以下格式从Iphone.I我使用Objective-CiPhone:如何在目标C创建JSON

{ 
"InspectionDetails": 
    [ 
     {"isCompleted":"Y","QMSStepId":"1A","QMSEmpId":"6","QMSInspectionID":"1","InspectedDate":"07/28/11 09:52:34",  "isNewRoom":"1","RoomInspID":"1","QMSRoomId":"1","QMSScoreId":"4"}, 
     {"isCompleted":"Y","QMSStepId":"1B","QMSEmpId":"4","QMSInspectionID":"1","InspectedDate":"07/28/11 09:52:34",  "isNewRoom":"1","RoomInspID":"1","QMSRoomId":"1","QMSScoreId":"3"} 
    ], 
"InspectionComments": 
    [ 
     {"QMSPredefinedCommentId":"1","customText":"Test1 Comment","RoomInspID":"1"}, 
     {"QMSPredefinedCommentId":"2","customText":"Test2 Comment","RoomInspID":"1"} 
    ], 
"Tools": 
    [ 
     {"Facility_Code" : "1","HddId" : "AIPH01"} 
    ] 
} 

任何一个可以请帮助我如何形成上述回应?

我有一个想法,我可以通过使用NSArray和NSDictonary来做到这一点,但我想在一本字典中的所有数组。任何人都可以请指导?

感谢, Shradha

回答

1

最简单的方法是使用类似SBJSON。然后,你可以做

NSString *jsonString = [myDictionary JSONRepresentation]; 
+0

嗨cduhn.But我有3个字典objects.From上面的字符串,你可以看到一个为“InspectionDetails”,一个为“InspectionComments”,一个为“工具”。我可以将这3个字典对象放入一个并使用JsonValue。我怎么能够? –

+0

这只是包含3个数组的1个字典对象。只需在顶级字典中调用JSONRepresentation即可。它将递归地将该字典中的所有对象序列化为它们的JSON表示形式。 – cduhn

+0

嗨cduhn.Sorry,但我必须形成以上格式的json字符串。 我的查询是我将如何能够从3数组中创建以上格式的json字符串。我有3个单独的数组和键,并从中创建一个字典。你可以帮忙吗? –

1

我建议使用JSONKit(https://github.com/johnezang/JSONKit),它工作得很好,是足够快速的服务于共同的需求。

假设你有一个类似的NSDictionary:

NSDictionary *dict = [NSDictionary dictionaryWithObjects: 
         [NSArray arrayWithObjects:,@"anotherDict",@"anotherDict1",@"anotherDict" nil] 
forKeys:[NSArray arrayWithObjects:@"Key1",@"Key2",@"Key3", nil]]; 

那么你可以简单地得到您的JSON表示如下:NSString *jsonString = [dict JSONString]

阅读文档以获取更多功能。