簡體   English   中英

json字符串未轉換為對象

[英]json string is not converting into object

這是我試圖發送json的服務器端代碼

$x = array();
$timestamp = strtotime('22-09-2008'); 
$x["x"] = $timestamp;
$x["y"] = 22;

$val = '[{ "name": "weight", "dataPoints": ['.json_encode($x).'] }]';
echo json_encode($val);

所以上面代碼的輸出看起來像

   "[{ \"name\": \"weight\", \"dataPoints\": [{\"x\":1222041600,\"y\":22}] }]"

下面是我通過Jquery getJSON獲取數據的客戶端代碼

var jqxhr = $.getJSON( "https://domain/gettracker.php?id="+id, function(data) {

 console.log(data);

})

我想getJson會自動將json轉換為對象,但它會記錄下面的原始json

"[ {  name: "weight", dataPoints: [{"x":1222041600,"y":22}] } ]"

我試着做json解析,但是我得到了錯誤。

我想我不是通過php正確發送數據。有人可以指導我嗎?

您的JSON字符串無效 - 屬性名稱應該用雙引號括起來 - " ,您不需要再次對字符串進行編碼。

$val = '[{ "name": "weight", "dataPoints": ['.json_encode($x).'] }]';
echo $val;

或者更好的是,使用json_encode為您創建字符串:

$data = array(
    'name' => 'weight',
    'dataPoints' => $x
);

echo json_encode($data);

暫無
暫無

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

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