【问题标题】:PHP turning json into arrayPHP将json转换为数组
【发布时间】:2013-06-18 01:09:58
【问题描述】:

所以我在一个 php 文件中获得了如此大量的数据,但它是 json 格式的。

我尝试将其转换为将所有 json 放入一个 $string 变量。 那么:

$json = json_decode($string);

foreach($json as $key => $value) {
  echo $value;
}

虽然这不起作用,所以我正在考虑如何将所有这些数据放入 mysql 数据库(或数组)中。

这是数据的一小部分。

[{
"namn":"ABF VUX",
"schoolID":"85740",
"stad":"G\u00f6teborg",
"PeriodDropDownList":false,
"FreeTextBox":false,
"code":"680378",
"lan":"V\u00e4stra G\u00f6talands l\u00e4n",
"WeekDropDownList":true,
"TypeDropDownList":true,
"startTid":"-"
},
{
"namn":"Adolf Fredriks Musikklasser",
"schoolID":"29320",
"stad":"Stockholm",
"PeriodDropDownList":true,
"FreeTextBox":true,
"code":"",
"lan":"Stockholms l\u00e4n",
"WeekDropDownList":true,
"TypeDropDownList":true,
"startTid":"8:15"
}]

【问题讨论】:

  • 你是如何打开文件的,显示那部分......
  • “这行不通” -- 好吧,您预期会发生什么,实际发生了什么?请提供足够的信息来实际回答问题。
  • 也....如果它的 php 首先是它,这是否意味着它在循环中的某个时间点是一个数组....肯定在它被编码为 json 之前,你可以上传?不?我是不是错过了什么。为什么还有另一个文件对其进行解码并上传?
  • 另外,你的问题是“我如何把它变成一个数组”(标题)还是“我如何把它放入mysql”(在问题中)?

标签: php json foreach


【解决方案1】:

这完全取决于确切的 json,但您的示例代码会生成一个对象数组,这就是 echo 不起作用的原因。

您的示例应该适用的内容类似于:

$json = json_decode($string);

foreach($json as $key => $value) {
  echo $value->namn;
}

【讨论】:

    【解决方案2】:

    这个怎么样:

    $json = json_decode($string, true);
    

    这应该使$json 成为一个关联数组。

    【讨论】:

      猜你喜欢
      • 2015-07-02
      • 2016-07-07
      • 1970-01-01
      • 1970-01-01
      • 2011-05-18
      • 2014-11-25
      • 2019-06-17
      • 2012-12-09
      • 2014-11-09
      相关资源
      最近更新 更多