2014-11-08 121 views
0

我JSON字符串上傳到服務器,就像我需要沒有在IOS中鍵雙引號JSON字符串

NSDictionary *values = [[NSDictionary alloc]initWithObjectsAndKeys:@"name", @"objective", nil]; 
NSArray *array = [[NSArray alloc]initWithObjects:values,nil]; 
NSDictionary *result = [[NSDictionary alloc]initWithObjectsAndKeys:array, @"objectives", nil]; 

我用下面的代碼字典轉換成JSON:

id obj = result; 
    NSError *error; 
    NSData *jsonData = [NSJSONSerialization dataWithJSONObject:obj options:kNilOptions error:&error]; 
    NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 

我得到正確的JSON像

{ "objectives":[ 
    {"objective":"name"} 
] 
} 

這是正確的JSON,但我需要JSON字符串像

{ objectives:[ 
    {"objective":"name"}] 
} 

是否有可能建立一個沒有在關鍵的雙引號的iOS

只有這個json字符串我們得到的答覆,否則我得到錯誤。

+0

這不是JSON。沒有JSON序列化程序會生成它,並且很少有JSON解析器會接受它。如果你需要它,創建內部的JSON字符串,並用你想要的字符「包裝」它。 – 2014-11-08 14:22:10

回答

2

如果只是要移除引號第一個鍵,就可以使用下面的快速解決辦法

jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\"objectives\"" withString:@"objectives"]]; 
+0

這就是我要說的。這不是真正的現代,但如果它適合你,這是一個簡單的修復 – 2014-11-08 14:21:18