簡體   English   中英

讀取JSON(Corona SDK)

[英]Reading JSON (Corona SDK)

我想從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 ....”

謝謝!!!

for _, v in ipairs(datos.servicios) do
   print(v.servicio)
end

您迭代datos邏輯是錯誤的。 在您的代碼中,您的i對於datos表的索引有所不同,但是您嘗試將它們引用到導致nil datos["servicios"][servicios] 正確的循環將是:

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

或者,更簡單地說

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM