2013-03-22 87 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