在下拉菜单中打印JSON字符串


Print JSON string in dropdown menu

在将JSON字符串的值生成到下拉菜单中时遇到问题。我有一个JSON API

http://service.proventustechnologies.com/api/json?username=demo&token=4ce26206-025d-11dc-8314-0800200c9a66&method=getattributevalues&dimensionId=10

当你点击它时,你会看到很多这样的值。

{
"response": {
    "id": 10,
    "values": [
        {
            "id": 258,
            "value": "Cameras"
        },
        {
            "id": 2581,
            "value": "GPS Navigation"
        },
        {
            "id": 259,
            "value": "MP3 Players"
        },
        {
            "id": 260,
            "value": "Cell Phone/PDA"
        },
        {
            "id": 6377,
            "value": "Digital Photo Frame"
        },
        {
            "id": 110,
            "value": "Motherboard"
        },
        {
            "id": 108,
            "value": "Desktop/Server"
        },
        {
            "id": 109,
            "value": "Notebook"
        },
        {
            "id": 10738,
            "value": "E-Book Reader"
        }
    ],
    "name": "System Type"
},
"status": "ok"

}

我想在下拉菜单中打印所有值,如相机、GPS导航。谢谢你的任何帮助。

使用json_decode将json编码的字符串转换为PHP变量:

<?php
  $json = file_get_contents($your_url);
  $obj = json_decode($json);
  echo $obj->response->id; // prints 10 (based on your sample code)
?>

我无法真正了解您的知识水平,但您应该将数据加载到html select元素中,例如:

<?php
    echo '<select>';
    $jsonData = file_get_contents($url); 
    $jsonDataObject = json_decode($jsonData);
    foreach($jsonDataObject->response->values as $option){
        echo '<option value=' . $option->id . '>' . $option->value . '</option>';
    }
    echo '</select>';
?>

hridaynehu,使用json数组值填充选择框非常容易。遵循下面的代码行。

<?php
     $url = 'http://service.proventustechnologies.com/api/json?username=demo&token=4ce26206-025d-11dc-8314-0800200c9a66&method=getattributevalues&dimensionId=10';
    $content = file_get_contents($url);
    $jsonArray = json_decode($content, true);?> 

<select name="json_populate"><?php 
    foreach($jsonArray->response->values as $jsonValue) { ?>
        <option value="<?php echo $jsonValue->id; ?>"><?php echo $jsonValue->value; ?></option>
    <?php } ?>
</select>

如果它对你有帮助,请把它标记为答案。因为它也可以帮助别人。

感谢&当做Sanjoy Dey