NSDictionary>使用SwiftyJSON的JSON字符串
问题描述:
这是我正在做的转换它。日志返回nil
NSDictionary>使用SwiftyJSON的JSON字符串
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)
答
这是我做的,以便提交的RESTful API:
let submitJson: JSON = ["user": username, "pass": password]
self.body = submitJson.rawString()!
打印(self.body)返回:
{ “通行证”:“XXX “, ”user“:”xxx“ }
答
要使用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)
}
结果:
{ “姓氏”: “橡皮擦”, “密码”: “铅笔”, “年龄”: “2332”,”名字 “:” 铅笔”, “licenseNumber”: “543543”, “电子邮件”: “笔记本电脑”, “carNumber”: “534543”, “信息类型”: “ADD_DRIVER”}
如果像你的代码片段你希望它在数组之前编码为JSON字符串,然后将它嵌入到N阵列是这样的:
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)
}
结果:
[{ “MSGTYPE”: “ADD_DRIVER”, “密码”: “铅笔”, “名字”: “铅笔”, “年龄”: “2332”,“email”:“笔记本”,“carNumber”:“534543”,“licenseNumber”:“543543”,“lastName”:“橡皮擦”}]
您应该添加一条关于期望输出为...如果您创建Dictionary类型的数据,会发生什么情况? –
我期望输出是一个有效的JSON字符串,我可以发布到服务器。 –