1

我想从我的 json 中读取或分离一个字段。我会读 :

local datos = json.decode(event.response)

print(datos["latitud"])
print(datos["longitud"])
print(datos["direccion"])
print(datos["telefono"])
print(datos["fax"])
print(datos["servicios"])

但是“servicios”是另一个 JSON,我无法获取他的字段,“null”是我这样做时的响应:

for i in pairs(datos) do
            print(datos["servicios"][servicios][i])
end

屏幕出口:

{
    "latitud": "39.98008",
    "longitud": "-0.063171",
    "direccion": "Ctra. Nacional 340 Km 64,500 - 12006 Castellón de la Plana",
    "telefono": "964 20 28 38",
    "fax": "964 34 18 54",
    "servicios": [
        {
            "servicio": "Acceso al parking"
        },
        {
            "servicio": "Actividades infantiles"
        },
        {
            "servicio": "Áreas de descanso"
        },
        {
            "servicio": "Ascensores"
        },
        {
            "servicio": "Ascensores adaptados"
        },
        {
            "servicio": "Aseos exclusivos adaptados"
        },
        {
            "servicio": "Autobús"
        },
        {
            "servicio": "Cajeros automáticos"
        },
        {
            "servicio": "Carritos infantiles"
        },
        {
            "servicio": "Escaleras"
        },
        {
            "servicio": "Escaleras mecánicas"
        },
        {
            "servicio": "Parking gratuito"
        },
        {
            "servicio": "Plazas de parking adaptadas con doble ancho"
        },
        {
            "servicio": "Reserva de taxis"
        },
        {
            "servicio": "Restaurantes especializados en organizar eventos para niños"
        },
        {
            "servicio": "Sala de lactancia"
        },
        {
            "servicio": "Servicio atención al cliente"
        },
        {
            "servicio": "Sillas de ruedas"
        },
        {
            "servicio": "Teléfonos públicos"
        }
    ]
}
39.98008    
-0.063171   
Ctra. Nacional 340 Km 64,500 - 12006 Castellón de la Plana  
964 20 28 38    
964 34 18 54    
table: 0x115806ed0

我想出现字段而不是“表:0X115 ....”

谢谢!!!

4

2 回答 2

1
for _, v in ipairs(datos.servicios) do
   print(v.servicio)
end
于 2013-03-22T13:41:52.853 回答
1

你的迭代逻辑datos是错误的。在您的代码中,您i对表的索引有所不同,datos但您试图将它们引用到datos["servicios"][servicios]导致nil. 正确的循环是:

for i in pairs( datos["servicios"] ) do
    print( datos["servicios"][i] )
end

或者,更简单地说

for i in pairs( datos.servicios ) do
    print( datos.servicios[i] )
end
于 2013-03-22T15:11:50.887 回答