繁体   English   中英

如何通过PHP访问JSON数组数组中的字符串对象?

[英]How to access string object in array of JSON-array via PHP?

我已经搜索了将近 30 分钟,但仍然找不到我的问题的答案。 所以,就是这样:我有一个名为“localeDE.l”的 JSON 文件,现在我正在尝试将对象打印到网站,“locale_name”(类型:字符串)有效,但“翻译”(类型:数组) 不起作用。

我的 JSON 文件:

"locale_name": "DE",
"translations": [
    {"Welcome": "Willkommen",
     "Goodbye": "Auf Wiedersehen"}
]

这是我的 PHP 文件:

$file = file_get_contents('localeDE.l');
$locale = json_decode($file);
print_r($locale);
echo "Locale=" . $locale->{'locale_name'};
echo "Translations:";
echo "  Welcome:" . $locale->{'translations'}->{'Welcome'};
echo "  Goodbye:" . $locale->{'translations'}->{'Goodbye'};

我也尝试过类似(...) $locale->{'translations.Welcome'}; 等你能帮我吗?

- 费利佩·凯泽

首先,您在此处输入的 JSON 是不完整的。 它缺少左花括号和右花括号。

它应该是

{"locale_name": "DE",
 "translations": [
     {"Welcome": "Willkommen",
     "Goodbye": "Auf Wiedersehen"}
]}

读取它的php

$obj = json_decode($json, true);
//to read the locale name
echo $obj['locale_name'];
//to read the translation of welcome
echo $obj['tranlations'][0]['Welcome'];
//to read the tranlation of goodbye
echo $obj['translations'][0]['Goodbye'];

干杯。

弄清楚了!

现在我知道它是如何工作的了! 非常感谢你!

附加费

这是我的代码片段:

$json = file_get_contents('localeDE.l');
$obj = json_decode($json, true);
echo $obj['locale_name'];
echo $obj['translations'][0]['Welcome'];
echo $obj['translations'][0]['Goodbye'];

和我的JSON文件无关,有兴趣的可以看上面Makville的回答。

非常感谢! :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM