阅读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

我想要显示字段,而不是“table: 0X115....”

谢谢!

点赞
用户1847592
用户1847592
对于 `datos.servicios` 中的每个元素 `v`,打印出 `v.servicio`。
2013-03-22 13:41:52
用户1190388
用户1190388

你迭代 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-22 15:11:50