2013-06-21 146 views
1

因此,我在php文件中获得了大量的数据,但它是以json格式。PHP将json转换为数组

我试过转换它把所有的JSON放入一个$字符串变量。 然后:

$json = json_decode($string); 

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

这不工作,虽然,所以我woundering我怎样才能把所有的数据到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" 
}] 
+0

你是如何打开文件,表明部分.... – KyleK

+0

*“这行不通” * - 好,什么你预计会发生什么,实际发生了什么?请提供足够的信息来真正回答问题。 – Hamish

+1

也....如果它的PHP在第一个地方,并不意味着它是一个数组在循环中的一个点....当然,它被编码为json之前,你可以上传?没有?我错过了什么。为什么有另一个解码它并上传的文件? – KyleK

回答

3

这一切都取决于确切的JSON,但您的示例代码生成一个对象数组,所以这就是为什么echo不起作用。

我应该与你的榜样工作,是这样的:

$json = json_decode($string); 

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

谢谢,完美:) –

1

如何:

$json = json_decode($string, true); 

这应该使$json关联数组。