簡體   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