我在下拉菜单中生成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导航。感谢您提供任何帮助。
答案 0 :(得分:1)
使用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)
?>
答案 1 :(得分:0)
我无法真正了解您的知识水平,但您应该在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>';
?>
答案 2 :(得分:0)
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>
如果有帮助,请标记答案。因为它也可以帮助别人。
感谢&amp;问候, Sanjoy Dey