我正在尝试序列化JSON字符串。这一个:
"user": {
apellidos = "Vasco Fornas";
"created_at" = "<null>";
email = "m@gmail.com";
"id_usuario" = 122;
imagen = "1ufm2Fmifoto.jpeg";
name = "";
"nivel_usuario" = 1;
nombre = Modesto;
unidad = 0;
"updated_at" = "<null>";
}, "uid": , "error": 0]
{
apellidos = "Vasco Fornas";
"created_at" = "<null>";
email = "m@gmail.com";
"id_usuario" = 122;
imagen = "1ufm2Fmifoto.jpeg";
name = "";
"nivel_usuario" = 1;
nombre = Modesto;
unidad = 0;
"updated_at" = "<null>";
}
到目前为止,这是我的代码:
do {//creamos nuestro objeto json
print("recibimos respuesta")
if let json = try JSONSerialization.jsonObject(with: data) as? [String:Any] { //Any for, Any data type
//Do with json
print(json);
DispatchQueue.main.async {//proceso principal
let mensaje = json["user"]
print(mensaje!);
}
}
}
第一个打印显示完整的JSON字符串,第二个打印显示项目&#34; user&#34;
我如何获得&#34; user&#34;下的所有键的值?项目
答案 0 :(得分:1)
你可以试试这个,例如:
if let mensaje = json["user"] as? [String:String] {
for key in mensaje.keys {
let currentValue = mensaje[key] as? String ?? "" // cast whatever you like
print(currentValue)
}
}
或将值作为数组获取......
if let mensaje = json["user"] as? [String:String] {
let yourValues = Array(mensaje.values)
print(yourValues)
}
如果您正在搜索“apellidos”:
var apellidos?
if let mensaje = (json["user"] as? [String:String]) {
apellidos = mensaje["apellidos"] as? String ?? ""
}
print(apellidos)