需要帮助从PHP中获取JSON的一部分

时间:2015-12-31 14:09:05

标签: php json

需要帮助从我的json获得一些部分。我已经在网站和谷歌搜索这个,但没有找到好的例子。这是我的json:

{
"_doc": "lusti",
"id": 123456,
"title": "Dokumenku dari Json",
"parsel": {
    "_doc": "parsel",
    "id": 3256,
    "doc_type": "Word",
    "title": "bendahara12.doc",
    "download_link": {
        "Word": [
            {
                "label": "doc1",
                "file": "http://example.com/file_doc1.doc"
            },
            {
                "label": "doc2",
                "file": "http://example.com/file_doc2.doc"
            },
            {
                "label": "doc3",
                "file": "http://example.com/file_doc3.doc"
            },
            {
                "label": "doc4",
                "file": "http://example.com/file_doc4.doc"
            }
        ]
    }
}

这是我的表:

<td class="tg-baqh"><a class="btn" href="<?php echo $json['???']; ?>">Doc 1</a></td>
<td class="tg-baqh"><a class="btn" href="<?php echo $json['???']; ?>">Doc 2</a></td>
<td class="tg-baqh"><a class="btn" href="<?php echo $json['???']; ?>">Doc 3</a></td>
<td class="tg-baqh"><a class="btn" href="<?php echo $json['???']; ?>">Doc 4</a></td>

我需要获取下载按钮的链接。看起来像:

<td class="tg-baqh"><a class="btn" href="http://example.com/file_doc1.doc">Doc 1</a></td>
<td class="tg-baqh"><a class="btn" href="http://example.com/file_doc2.doc">Doc 2</a></td>
<td class="tg-baqh"><a class="btn" href="http://example.com/file_doc3.doc">Doc 3</a></td>
<td class="tg-baqh"><a class="btn" href="http://example.com/file_doc4.doc">Doc 4</a></td>

3 个答案:

答案 0 :(得分:3)

您需要使用json_decode()解析JSON data

$array = json_decode($json_string,true);

现在您可以获取数组格式的数据。现在您需要编写foreach loop来检索下载链接数据。如下所示:

$download_link = $array['parsel']['download_link']['Word'];
foreach($download_link as $key=>$val){
    echo '<td class="tg-baqh"><a class="btn" href="' . $val['file'] . '">'. $val['label'] .'</a></td>';
}

答案 1 :(得分:0)

您可以使用json_decode将您的json用作php中的数组:

$data = json_decode($json);

然后,如果您知道您的json结构将保持不变,您可以直接遍历您的数组以循环下载链接:

foreach($data['parsel']['download_link']['Word'] as $k => $link) {
    echo '<td class="tg-baqh"><a class="btn" href="' . $link['file'] . '">'. $link['label'] .'</a></td>';
}

答案 2 :(得分:0)

你需要使用json_decode();这将解析JSON数据:

$array = json_decode($json_string,true);

然后你可以为下载链接写一个foreach循环:

$download_link = $array['parsel']['download_link']['Word'];
foreach($download_link as $key=>$val){
    echo '<td class="tg-baqh"><a class="btn" href="' . $val['file'] . '">'. $val['label'] .'</a></td>';
}