尝试将图像从JSON文件加载到PHP时出错

时间:2018-11-14 16:06:43

标签: php json

因此,我试图通过将json文件调用到我的php中来显示网站上的JSON文件中的图像,但我收到此通知“数组到字符串转换”。关于如何解决此问题的任何想法?

JSON

[
{
"name" : "match numbers 1",
"template" : "matching",
"data" : [
  [
   "one",
   "Images/Number1.jpg"
  ],
  [
   "four",
   "Images/Number4.jpg"
  ],
  [
   "nine",
   "Images/Number9.jpg"
  ]
]
},

{
"name" : "match numbers 2",
"template" : "matching",
"data" : [
  [
   "six",
   "Images/Number6.jpg"
  ],
  [
   "eight",
   "Images/Number8.jpg"
  ],
  [
   "nine",
   "Images/Number9.jpg"
  ]
]
  }
]

php代码

<?php
  $json_var = file_get_contents("template.json");
  $json_var = json_decode($json_var, true);
  foreach($json_var as $value)
  {
    printf($value["name"]);
    printf($value["template"]);
    printf('<img src="'.$value["data"].'" />');
  }
?>

2 个答案:

答案 0 :(得分:2)

因为$ value [“ data”]是数组,所以您可以迭代并获取所有图像

<?php
  $json_var = file_get_contents("template.json");
  $json_var = json_decode($json_var, true);
  foreach($json_var as $value)
  {
    printf($value["name"]);
    printf($value["template"]);
    foreach($value["data"] as $val){
     printf('<img src="'.$val[1].'" />'); //$val is also array, i assumed second is image url 
    }
  }
?>

答案 1 :(得分:0)

由于您的$ value [“ data”]是一个数组,因此发生“数组到字符串转换” 错误。您还将需要遍历该数组。这样的事情。

<?php
  $json_var = file_get_contents("template.json");
  $json_var = json_decode($json_var, true);
  foreach($json_var as $value)
  {
    printf($value["name"]);
    printf($value["template"]);
    foreach($value["data"] as $data){
     printf('<img src="'.$data[1].'" />'); //<- I assume this index
    }
  }
?>

每当我看到讨厌的数组到字符串的转换。 var_dump是我最好的调试格式的朋友。