如何使用JSONSerialization正确附加NSMutableData和NSData?

时间:2015-06-05 09:02:11

标签: ios objective-c json

我尝试将nsdata附加到nsmutabledata,在我第一次尝试时,它看起来很好,但是当我获得nsdata的新内容并将其附加到我的nsmutabledata时,它看起来很好,但我的反序列化字典返回nil,请帮助伙伴们。 :)

NSData * jsonData = [NSJSONSerialization dataWithJSONObject:myMutableDictionary options:0 error:nil];

NSMutableData * myMutableData = [NSMutableData dataWithData:jsonData];

[myMutableData appendData:jsonData];

NSDictionary *deSerializedDict = [NSJSONSerialization JSONObjectWithData:myMutableData options:NSJSONReadingMutableContainers error:nil];

2 个答案:

答案 0 :(得分:0)

您应该编写一个JSON函数。为什么要将NSData添加到NSMutableData?。如果您遵循以下编码,您可以轻松理解。

//just give your URL instead of my URL

 NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://stackoverflow.com/questions/30662452/how-to-properly-append-nsmutabledata-and-nsdata-with-jsonserialization"]];

 [request setHTTPMethod:@"GET"];

 [request setValue:@"application/json;charset=UTF-8" forHTTPHeaderField:@"content-type"];

 NSError *err;

 NSURLResponse *response;

 NSData *responseData = [NSURLConnection sendSynchronousRequest:request   returningResponse:&response error:&err];

 NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:responseData options: NSJSONReadingMutableContainers error: &err];

 NSLog("the jsonDict is - %@",jsonDict);

答案 1 :(得分:0)

作为一个绝对的,百分之百的原则,如果你有NSData包含一个有效的JSON对象,那么在添加除空格字符之外的任何东西之后,NSData不再可能包含有效的JSON对象。

作为一种特殊情况,如果您有两个包含有效JSON对象的NSData,那么它们的连接永远不会包含有效的JSON对象。