NSDictionary>使用SwiftyJSON的JSON字符串

Ali*_*kar 1 nsdictionary swift swifty-json

这就是我正在做的转换它.日志返回nil

let keys = ["firstName", "lastName", "age","carNumber", "licenseNumber", "email","password", "msgType"]
let objects = ["Pencil", "Eraser", "2332","534543", "543543", "Notebook","Pencil", "ADD_DRIVER"]
self.dictionary = NSDictionary(objects: objects, forKeys: keys)

var data = [Dictionary<String, String>]()
data.append(self.dictionary as! Dictionary<String, String>);
var jsonObj = JSON(data)

print("JSON Object")
print(jsonObj.stringValue)
Run Code Online (Sandbox Code Playgroud)

aya*_*aio 7

要使用SwiftyJSON创建JSON字符串,请使用rawString(encoding: UInt = default, options opt: NSJSONWritingOptions = default).这样字符串就不会包含像新行这样的无效字符.

字典示例:

let keys = ["firstName", "lastName", "age","carNumber", "licenseNumber", "email","password", "msgType"]
let objects = ["Pencil", "Eraser", "2332","534543", "543543", "Notebook","Pencil", "ADD_DRIVER"]
let dict = NSDictionary(objects: objects, forKeys: keys)
let jsonObj = JSON(dict)
if let stringJSON = jsonObj.rawString(NSUTF8StringEncoding, options: []) {
    print(stringJSON)
}
Run Code Online (Sandbox Code Playgroud)

结果:

{ "姓氏": "橡皮擦", "密码": "铅笔", "年龄": "2332", "名字": "铅笔", "licenseNumber": "543543", "电子邮件": "笔记本电脑"," carNumber ":" 534543" , "信息类型": "ADD_DRIVER"}

如果在编码为JSON字符串之前你想要它在你的代码片段中,那么只需将它嵌入到这样的数组中:

let keys = ["firstName", "lastName", "age","carNumber", "licenseNumber", "email","password", "msgType"]
let objects = ["Pencil", "Eraser", "2332","534543", "543543", "Notebook","Pencil", "ADD_DRIVER"]
let dict = NSDictionary(objects: objects, forKeys: keys)
let jsonObj = JSON([dict])
if let stringJSON = jsonObj.rawString(NSUTF8StringEncoding, options: []) {
    print(stringJSON)
}
Run Code Online (Sandbox Code Playgroud)

结果:

[{ "MSGTYPE": "ADD_DRIVER", "密码": "铅笔", "名字": "铅笔", "年龄": "2332", "电子邮件": "笔记本电脑", "carNumber": "534543", "licenseNumber": "543543", "姓氏": "橡皮擦"}]