首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PHP实现完整json的回波编码段

用PHP实现完整json的回波编码段
EN

Stack Overflow用户
提问于 2019-03-28 14:13:18
回答 2查看 71关注 0票数 0

我正在为我的json文件设置一个简单的PHP处理程序。

这是我的设置,我不确定我需要在PHP脚本中定义什么才能从json的长列表中获得这个ID。

如有任何建议或帮助,将不胜感激。

代码语言:javascript
复制
<?php
$id = $_GET['id'];              //get ?id=
$jsonurl = "api/documents.json";     //json path
$json = file_get_contents($jsonurl);   //getting file
$decode = json_decode($json);          //decoding the json

$echome = $decode[0]->$id;           //looking for "id" within the json

$reencode = json_encode($echome)     //re-encoding this segmented json

echo($reencode);        //echo the json

期望的结果是

代码语言:javascript
复制
//load page with id set as 21
{
    "21": {
        "name": "mike",
        "active": "yes"
    }
}

url = www.example.com/process.php?id=21

代码语言:javascript
复制
// simple example of the json
{
    "20": {
        "name": "john",
        "active": "no"
    },
    "21": {
        "name": "mike",
        "active": "yes"
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-28 14:18:20

$decode不是数组,而是对象,所以最好将其解码为数组,然后按如下方式访问键:

代码语言:javascript
复制
$id     = $_GET['id'];           
$decode = json_decode($json, true);

$echome = $decode[$id];

注意,truejson_decode()接受的第二个参数。您可以阅读更多关于它的这里

票数 1
EN

Stack Overflow用户

发布于 2019-03-28 14:16:22

如果您想以数组的形式访问它,通过将true传递给json_decode解码为关联数组,那么:

代码语言:javascript
复制
$echome = $decode[$id];           //looking for "id" within the json

或者,如果希望将其保留为对象,则可以执行以下操作来访问这些属性:

代码语言:javascript
复制
$echome = $decode->{$id};           //looking for "id" within the json
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55399750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档