从swift中的字典数组中获取无效JSON数组
我想从我拥有的数组中创建JSON数组字符串。但我得到的JSON无效。从swift中的字典数组中获取无效JSON数组,json,swift,nsdictionary,nsjsonserialization,Json,Swift,Nsdictionary,Nsjsonserialization,我想从我拥有的数组中创建JSON数组字符串。但我得到的JSON无效。 这就是我想要的: [ { "validationCode": null, "FirstName": "Samer", "LastName": "Shame", "MobileNumber": "0991992993", "SimNumber": null, "Email": null, "PhoneNumbe
这就是我想要的:
[
{
"validationCode": null,
"FirstName": "Samer",
"LastName": "Shame",
"MobileNumber": "0991992993",
"SimNumber": null,
"Email": null,
"PhoneNumber": "0991992994",
"Name": "Abo Alshamat",
"ID": 1
},
{
"validationCode": null,
"FirstName": "Ahmad",
"LastName": "Ali",
"MobileNumber": "0992993994",
"SimNumber": null,
"Email": null,
"PhoneNumber": "0992993995",
"Name": "AL-Kamal",
"ID": 2
}
]
这就是我得到的:
[
[
"validationCode": null,
"FirstName": "Samer",
"LastName": "Shame",
"MobileNumber": "0991992993",
"SimNumber": null,
"Email": null,
"PhoneNumber": "0991992994",
"Name": "Abo Alshamat",
"ID": 1
],
[
"validationCode": null,
"FirstName": "Ahmad",
"LastName": "Ali",
"MobileNumber": "0992993994",
"SimNumber": null,
"Email": null,
"PhoneNumber": "0992993995",
"Name": "AL-Kamal",
"ID": 2
]
]
这是代码:
var data = [NSDictionary]()
for item in someList {
var d = ["validationCode": null,
"FirstName": item.prop1,
"LastName": item.prop2,
"MobileNumber": item.prop3...]
data.append(d)
}
var bytes = NSJSONSerialization.dataWithJSONObject(data, options: NSJSONWritingOptions.allZeros, error: nil)
var jsonObj = NSJSONSerialization.JSONObjectWithData(bytes!, options: nil, error: nil) as! [Dictionary<String, String>]
var数据=[NSDictionary]()
对于someList中的项{
var d=[“validationCode”:null,
“名字”:第1项,
“LastName”:item.prop2,
“MobileNumber”:item.prop3…]
数据追加(d)
}
var bytes=NSJSONSerialization.dataWithJSONObject(数据,选项:NSJSONWritingOptions.allZeros,错误:nil)
var jsonObj=NSJSONSerialization.JSONObjectWithData(bytes!,选项:nil,错误:nil)as![字典]
我应该怎么做才能得到标准的JSON格式?您正在将一个
Swift
CollectionType
转换成JSON(bytes
),然后再将其转换回来(jsonObj
)
在这种情况下,bytes
是JSON
,而NSData
和jsonObj
是一种SwiftCollectionType
因此,当您打印(jsonObj)时,您不是在打印JSON
,而是在打印集合
要获取真正的JSON
print(NSString(data: bytes, encoding: NSUTF8StringEncoding))
在这里,您将看到正确的JSON
格式
在Swift中,JSON是一个字符串。不是一个物体
您的代码应该如下所示:
let json = NSJSONSerialization.dataWithJSONObject(data, options: nil, error: nil)!
let jsonString = NSString(data: json, encoding: NSUTF8StringEncoding)!
println(jsonString)
如何使用var d?写更多关于var数据的内容,var dI更新了代码。我循环浏览列表并创建字典
d
,然后将它们添加到字典列表数据中。然后我将所有内容转换为JSON,但我得到的是[[],[],[]]
而不是[{},{},{}]
尝试将[NSDictionary]()更改为[[String:AnyObject]]()。没用你怎么看你得到了什么?你打印jsonObj吗?只有一个子问题。当把这个发送到web服务时,我应该像您在这里写的那样发送jsonString
。我说的对吗?是的,你像普通的字符串一样发送。好的。比你好多了。