Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从swift中的字典数组中获取无效JSON数组_Json_Swift_Nsdictionary_Nsjsonserialization - Fatal编程技术网

从swift中的字典数组中获取无效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

我想从我拥有的数组中创建JSON数组字符串。但我得到的JSON无效。
这就是我想要的:

[
    {
        "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
是一种Swift
CollectionType

因此,当您打印(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
。我说的对吗?是的,你像普通的字符串一样发送。好的。比你好多了。