我有一些错误不..已了解好 我送这个代码JSON解析错误斯威夫特3
JSONARRAY {
JSON,
JSONARRAY,
JSONARRAY
}
Y的这一点,但没有工作或没有正确解析,无论用于在这两个阵列不加入任何东西
buscarEmpresa=[
"{\n \"criterio\" : \"fru\",\n \"tipo\" : \"0\",\n \"idempresa\" : \"82\"\n}",
[
],
[
]
]
数据无法被读取,因为它的格式不正确。
试试这个代码..
let usuario = UsuarioSQL.getUsuario()!
var jArray: [AnyObject] = []
let jUsuario = NSMutableDictionary()
jUsuario.setValue((phBuscar.text?.trimmingCharacters(in: .whitespacesAndNewlines))!, forKey: "criterio")
jUsuario.setValue(String(describing: usuario.tipo_negocio), forKey: "tipo")
jUsuario.setValue(String(describing: usuario.id_server), forKey: "idempresa")
let jData = try! JSONSerialization.data(withJSONObject: jUsuario, options: .prettyPrinted)
let jStr = NSString(data: jData, encoding: String.Encoding.utf8.rawValue) as! String
jArray.append(jStr as AnyObject)
let jaEmpresarial = NSMutableArray()
for i in receive_empresarial {
let jEmpresarial = NSMutableDictionary()
jEmpresarial.setValue(i, forKey: "empresarial")
jaEmpresarial.add(jEmpresarial)
}
jArray.append(jaEmpresarial)
let jaPais = NSMutableArray()
for i in receive_paises {
let jPais = NSMutableDictionary()
jPais.setValue(i, forKey: "pais")
jaPais.add(jPais)
}
jArray.append(jaPais)
let post = try! JSONSerialization.data(withJSONObject: jArray, options: .prettyPrinted)
let jPost = NSString(data: post, encoding: String.Encoding.utf8.rawValue) as! String
let sesion = URLSession.shared
let parameters = "buscarEmpresa=\(jPost)"
print(parameters)
上面的代码本身似乎工作正常。你从哪里得到错误?另外,最好在Swift代码中使用类型信息超过NSArray和NSDictionary的Swift数组和字典... – Fahim
好了,但请教一些教程或示例吗? – marlonpya
查看我的答案更新 - 我添加了一些基于代码输出的有效JSON。 – Fahim