【问题标题】:how extract data from json in php [duplicate]如何在php中从json中提取数据[重复]
【发布时间】:2016-05-20 16:12:49
【问题描述】:

如何从json中提取

{"aaData":[["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:37","5"],["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:38","6"],["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:40","9"],["fdsf","fds","654545","2016-02-08 13:52:40","12"],["fsdf","fsdfsdfds","546","2016-02-08 13:53:51","13"],["hjgh","hg","3123123","2016-02-08 14:35:31","14"]]}


foreach($data->aaData as $row) {
echo $row->aaData[1];   
}

它不起作用,请帮助我的人

【问题讨论】:

标签: php mysql json


【解决方案1】:

php 有内置函数 json_decode() 下面是例子

<?php
$rs=json_decode($jsonvalue);
print_r($rs);
?>

see php official documentation

** 你的问题 o/p**

这是我更新的代码

$string="";
$data=json_decode('{"aaData":[["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:37","5"],["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:38","6"],["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:40","9"],["fdsf","fds","654545","2016-02-08 13:52:40","12"],["fsdf","fsdfsdfds","546","2016-02-08 13:53:51","13"],["hjgh","hg","3123123","2016-02-08 14:35:31","14"]]}');
$string.="<table border=1>";
foreach ($data->aaData as $key => $value) {
    $string.="<tr>";
    $string.="<td>";
    $string.="<a href=".'yourpath/'.$value[4].">View</a>";
    $string.="<a href=".'yourpath/'.$value[4].">Edit</a>";
    $string.="<a href=".'yourpath/'.$value[4].">Delete</a>";
    $string.="</td>";
    $string.="</tr>";
}
$string.="</table>";
echo $string;

这是 o/p 你添加你的引导类和字体图标

【讨论】:

  • 如何获取这样的数据
  • 您想根据唯一ID进行编辑、删除和查看
  • 我知道,但我想知道如何使用此代码列出
  • 当你解码你的 json 时,它会返回带有箭头操作符的 objets 对象调用,最后在 foreach 循环中使用
【解决方案2】:

JSON 不是数组、对象或数据结构。 JSON 是一种基于文本的序列化格式 - 所以是一个花哨的字符串,但仍然只是一个字符串。在 PHP 中使用json_decode() 对其进行解码。

$data = json_decode($json);

例如:-

$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));

会输出

object(stdClass)#1 (5) { ["a"] => int(1) [“b”] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }

数组(5){ ["a"] => int(1) [“b”] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }

在你的情况下,它会像

$data='{"aaData":[["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:37","5"],["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:38","6"],["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:40","9"],["fdsf","fds","654545","2016-02-08 13:52:40","12"],["fsdf","fsdfsdfds","546","2016-02-08 13:53:51","13"],["hjgh","hg","3123123","2016-02-08 14:35:31","14"]]}';
$yourResult=json_decode($data);
echo "<pre>";
print_r($yourResult);
foreach ($yourResult->aaData as $item) {
//do something with this data
}

希望对你有帮助!

【讨论】:

    【解决方案3】:

    为了得到一个包含 JSON 信息的数组,你需要这样做:

    $output_array=json_decode($json);
    

    之后你可以通过

    查看里面的信息
    foreach ($output_array->aaData as $item) {
        //....do something
    }
    

    【讨论】:

    • 您正在解码为对象,而不是数组...
    • 你是对的。固定。
    【解决方案4】:
    $json = '{"aaData":[["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:37","5"],["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:38","6"],["Hitech Institute","0shoaib0@gmail.com","8149587579","2016-02-04 16:55:40","9"],["fdsf","fds","654545","2016-02-08 13:52:40","12"],["fsdf","fsdfsdfds","546","2016-02-08 13:53:51","13"],["hjgh","hg","3123123","2016-02-08 14:35:31","14"]]}';
    
    $data = json_decode ($json, TRUE);
    
    foreach($data['aaData'] as $row) {
        var_dump ($row);   
    }
    

    我会使用json_decode (here documentation),然后会设法发布数据。

    【讨论】:

    • 我想要在屏幕截图中像这样的行
    • @shoaibmansuri 然后您需要编写必要的 HTML 来执行此操作。我们在这里回答你的问题,而不是为你做你的工作(我们没有太多的背景来开始)。
    • 我知道但给我更多的方法,简而言之如何按行打印所有数据
    • 信息在 $row 中,你唯一需要做的就是用 HTML 发布它
    【解决方案5】:

    PHP foreach 循环不直接作用于 json 数据。 您需要先在数组中解码,如下所示

    $data = json_decode($JSON);

    查看documentation

    【讨论】:

    • 请问,你能做到吗....为我...拜托
    • 你如何否决评论...?
    猜你喜欢
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    • 2021-10-21
    • 2019-03-19
    相关资源
    最近更新 更多