2016-06-17 86 views
-3

我想做一个API,但我有一个问题:我想输出我的数据给用户使用JSON。如何从PHP json_encode函数获取JSON?

PHP代码:

$JSONfeedback = [ 
     [ 
      "newURL" => "$newURL", 
      "orgURL" => "$orgURL", 
      "create_time" => "$create_time", 
      "clicks" => "$clicks" 
     ] 
     ]; 

    // Output the JSON 
    echo json_encode($JSONfeedback); 

控制台输出:

{"newURL":"https:\/\/shty.ml\/?y1MWzYW708","orgURL":"https:\/\/keep.google.com","create_time":"UNDEFINED","clicks":"2"} 

但我想是这样的:

Object {newURL: "https://shty.ml/?y1MWzYW708", orgURL: "https://keep.google.com", create_time: "UNDEFINED", clicks: "2"} 

这样用户可以访问所有的信息。我怎样才能做到这一点?

+0

请出示您的jQuery代码。 –

+0

使用json_encode($ JSONfeedback,JSON_FORCE_OBJECT); –

+0

我的JSON代码在图像中。 –

回答

0

这就是您的echo json_encode()console.log()。所以,当你的JavaScript以任何形式从你的api获取json时,你可以使用console.log()你的对象。所以json_encode()正是你在php端需要的。

3

您已经获得了JSON!我认为你所要做的是让一些前端JavaScript将它解释为一个对象。这部分很简单:

> var dump = '{"url":"http:\/\/www.google.com"}'; // the actual encoded JSON 
> JSON.parse(dump) // convert it to a native object 

Object {url: "http://www.google.com"} 

虽然它非常类似于普通的JS对象,JSON是在网络上编码的数据结构进行传输的方法 - 这是毫不夸张的字符串。它在使用之前需要被解码。

0

检查我的代码:

function example($arrays = array()) { 
    $x = 1; 
    $api_value = '{'; 

    foreach ($arrays as $array => $value) { 
     $api_value .= $array . ': ' . '"' . $value . '"'; 

     if ($x < count($arrays)) { 
      $api_value .= ', '; 
     } 
     $x++; 

    } 

    $api_value .= '}'; 
} 

example([ 
    'newURL' => 'link', 
    'orgURL' => 'link', 
    'create_time' => 'UNDEFINED', 
    'clicks' => '2' 
]); 

输出:

{newURL: "link", orgURL: "link", create_time: "UNDEFINED", clicks: "2"}