php如何编写根据key返回json格式?

Posted

技术标签:

【中文标题】php如何编写根据key返回json格式?【英文标题】:How to write php returns json format according to the key? 【发布时间】:2015-07-01 05:46:18 【问题描述】:

我使用 XAMPP 创建本地网络并编写 php 文件以将数据库中的数据作为 json 返回。这是我的代码:

 <?php 
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "landslide";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) 
    die("Connection failed: " . $conn->connect_error);
         

function myexample 
    $mysqli = "SELECT id, temp, acc, moisture, battery, time FROM devices";
    $result = $conn->query($mysqli);

    if (mysqli_num_rows($result) > 0) 

            while($row = mysqli_fetch_array($result))
            $response["main"] =array();
            $response["parameters"]= array();
            $main = array();
            $main["id"]=$row["id"];
            array_push($response["main"],$main);

            $parameter = array();
            $parameter["temp"] = $row["temp"];
            $parameter["acc"] = $row["acc"];
            $parameter["moisture"] = $row["moisture"];
            $parameter["battery"] = $row["battery"];
            $parameter["time"] = $row["time"];
            array_push($response["parameters"],$parameter);

        
            // echoing JSON response
          $result_response =  echo json_encode($response);
          return $result_response;


        
 // end of my example function 
?>

现在当你调用这个函数你会得到json_encode格式

现在使用

解析它
$res = JSON.parse($result_response);

现在

$moisture = $res['moisture'];

我的本​​地链接:http://127.0.0.1/landslide/currentdata.php。

现在,我想写一个php文件根据“key”返回json格式(这里我想要key是id)。从下面的 Openweather api 地址开始,关键是城市(例如伦敦)。 http://api.openweathermap.org/data/2.5/weather?q=London,uk

那么,我如何根据key通过php返回json格式呢?请帮我! (我的表情不好,抱歉)

【问题讨论】:

非常感谢您的帮助 【参考方案1】:

当您返回json_encode($response);

您需要解析它才能像对象一样进入并访问它,您可以像在一个变量中一样实现它。

$result = JSON.parse($response);

如果您想访问moisture,请访问此$result array

然后$moisture = $result['moisture']; 像这样...

【讨论】:

这意味着我重新开始 > echo json_encode($response);通过 >$result = JSON.parse($response); 并添加 > $moisture = $result['moisture'];下面? 尝试将所有代码放在一个函数中并像这样返回 $result_response = json_encode($response);然后你可以解析并得到它像 $moisture = $result['moisture']; 我还是不太明白,你能按照你的方式编辑我上面的代码吗?非常感谢您,对我缺乏知识感到抱歉 非常感谢您的帮助

以上是关于php如何编写根据key返回json格式?的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5.0--编写api,返回json格式

如何根据json中的属性编写jackson反序列化器

JSON的key值为数字时如何使用

如何编写一个shell脚本

xmlhttp.responseText这是返回的一个集合 在js中如何编写代码遍历这个集合把数据显示在jsp上啊?

服务器8