2013-03-22 73 views
1

我想阅读或分离从我的JSON恶魔。我可以读:阅读JSON(电晕SDK)

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,我无法取得他的田地,“空”是响应当我这样做:

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

屏幕EXIT:

{ 
    "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 ......”

谢谢!

回答

1
for _, v in ipairs(datos.servicios) do 
    print(v.servicio) 
end 
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