ios - 从对象到 json 文本 ios 的转换

标签 ios iphone objective-c json ios7

我需要什么

 "sampleId":"[{\"TextVal\":\"10233\"}]"

我在哪里

    NSDictionary *sampledict=@{@"TextVal": @"10233"};
    NSArray *arr=[NSArray arrayWithObject:sampledict];
    [dict setObject:arr forKey:@"sampleId"];

但是将其转换为 json 文本给了我

   "sampleId":[{TextVal:10233}]

有没有办法获取 {\"TextVal\":\"10233\"} 的值? 这是针对具有以下内容的 POST 数据的 Web 服务调用。当排除此\时,Web 服务给了我错误的请求错误。因此要求

请注意,我正在使用 AFNetworking 来获取网络数据

最佳答案

这看起来像“嵌套的 JSON”。您必须为数组创建 JSON 数据 arr 首先,并将其放入外部字典。然后创建完整的JSON数据 对象:

NSDictionary *sampledict = @{@"TextVal": @"10233"};
NSArray *arr = [NSArray arrayWithObject:sampledict];
NSData *innerJson = [NSJSONSerialization dataWithJSONObject:arr options:0 error:NULL];
NSString *innerJsonString = [[NSString alloc] initWithData:innerJson encoding:NSUTF8StringEncoding];

NSMutableDictionary *dict = [NSMutableDictionary dictionary];
[dict setObject:innerJsonString forKey:@"sampleId"];

NSData *json = [NSJSONSerialization dataWithJSONObject:dict options:0 error:NULL];
NSString *jsonString = [[NSString alloc] initWithData:json encoding:NSUTF8StringEncoding];
NSLog(@"%@", jsonString);

输出:

{"sampleId":"[{\"TextVal\":\"10233\"}]"}

关于ios - 从对象到 json 文本 ios 的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762359/

相关文章:

ios - CoreBluetooth 可以报告外围设备的剩余电池生命周期吗?

ios - react-native - Pod 安装停留在克隆规范 repo

ios - UISearchBar barTintColor 没有隐藏在 iOS 7.1 中

iOS如何实现UITableView底部刷新控件

objective-c - 切换网络后网络运行失败

iphone - 在tableView中选择多个单元格并将所选单元格显示在另一个tableView单元格中作为标签?

ios - 具有多个表格 View 的 Ipad 设计

php - iPhone OS 图像/照片大小调整工具可更改 EXIF 方向数据

iphone - 循环中的 NSURLSession

iphone - UITableViewCell cell.editingAccessoryType 不起作用