[英]Converting PHP assoc array to json object
我在PHP中有一個assoc數組:
foreach ($result as $value) {
$x++;
$data += array("nds" => array($x => $x), "eds" => array(), "an" => array($x => $this->model->getLng($value)));
}
我將此數組發送到JS文件,其打印如下:
{"nds":{"1":1},"eds":[],"an":{"1":[45.4423073,-75.7979993]}}
但是,我無法到達nds
因為這返回的是undefined:
console.log(data.nds);
PHP只是將字符串發送到JS文件。 您首先需要設置一個等於該字符串的變量:
<script>
var json = '<?= $data; ?>';
</script>
現在我們有了一個JS變量json
,但是需要將其轉換為一個對象以引用nds
屬性。 我們可以使用JSON.parse()
做到這一點:
<script>
var json = '<?= $data; ?>';
var data = JSON.parse(json);
console.log(data.nds); // Object {1: 1}
</script>
@RobM提出了一個很好的觀點,我們甚至不需要將其解析為字符串,而只需將變量設置為JSON轉儲即可:
<script>
var data = <?= $data; ?>;
console.log(data.nds); // Object {1: 1}
</script>
這仍然需要您傳遞JSON數據( { "nds": { "1": 1 }, "eds": [], "an": { "1": [ 45.4423073, -75.7979993 ] } }
)將PHP腳本轉換為JS變量。
您可以使用jQuery JSON解析器或標准Javascript JSON解析器:
var data = '{"nds":{"1":1},"eds":[],"an":{"1":[45.4423073,-75.7979993]}}';
var d = $.parseJSON(data); // jQuery
console.log(d['nds']);
var j = JSON.parse(data); // Javascript
console.log(j['nds']);
例如: http : //jsfiddle.net/bb7ak6L5/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.