如何使用php格式化json数据


how to format this json data using php

链接在这里。请看看下面的细节,并告诉我如何获得每个{}块的值

JSON数据

 {
        "id": "1",
        "0": "1",
        "value": "Addalachchenai",
        "1": "Addalachchenai",
        "department_id": "6",
        "2": "6",
        "ordering": "1",
        "3": "1"
    }
    {
        "id": "2",
        "0": "2",
        "value": "Akkaraipattu ",
        "1": "Akkaraipattu ",
        "department_id": "6",
        "2": "6",
        "ordering": "2",
        "3": "2"
    }
    {
        "id": "3",
        "0": "3",
        "value": "Ampara ",
        "1": "Ampara ",
        "department_id": "6",
        "2": "6",
        "ordering": "3",
        "3": "3"
    }
PHP

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=$db', $user, $pass);
    foreach($dbh->query('SELECT * FROM `jos_jea_towns` LIMIT 0, 500 ') as $row) {
       echo '<pre>' . json_encode($row, JSON_PRETTY_PRINT).'</pre>';
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

我想获取joson数据的VALUE ..

如何使用php格式化以上json数据

使用

json_decode (jsonObject美元,真的);

这个函数将把json数据转换成PHP数组。但是你写的代码似乎效率很低,你不应该在foreach()变量中运行你的查询,你应该这样使用。

<?php
try {
    $dbh = new PDO('mysql:host=localhost;dbname=$db', $user, $pass);
    $result = $dbh->query('SELECT * FROM `jos_jea_towns` LIMIT 0, 500 ');
    foreach($result as $row) {
       echo '<pre>';
       print_r($row);
       echo '</pre>';
       //echo '<pre>' . json_encode($row, JSON_PRETTY_PRINT).'</pre>';
    }
    $dbh = null;
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>