我第一次使用json文件,我需要将一些数据插入到MySQLi表中。 但是,我只需要row1和row5中的值。 下面是json树和我虚弱的尝试。
{
'category1':'value1',
'category2':'
[
{
'row1':'value2'
'row2':'value3'
'row3':'value4'
'row4':'value5'
'row5':'value6'
},
{
'row1':'value7'
'row2':'value8'
'row3':'value9'
'row4':'value10'
'row5':'value11'
},
(...) x100
]
}
$json=file_get_contents('/*url of the json file*/');
$json_object=json_decode($json);
foreach($json_object->category2 as $json_object)
{
$needed_value1=$json_object->category2->row1; /*This is where I think my attempt breaks*/
$needed_value2=$json_object->category2->row5; /*down but I have no idea how to proceed.*/
$query=mysqli_prepare($connection,'INSERT INTO table (column1,column2) VALUES (?,?)');
mysqli_bind_param($query,'ss',$needed_value1,$needed_value2);
mysqli_stmt_execute($query);
mysqli_stmt_close($query);
mysqli_close($connection);
}
答案 0 :(得分:0)
首先,您必须验证您的json以检查它是否有效。
要验证Json,您可以使用jsonlint(http://jsonlint.com/)
然后假设你的json就像下面的$ x一样。
$ x =' { " category1":" value1", " category2":[ { " row1":" value2", " row2":" value3", " row3":" value4", " row4":" value5", " row5":" value6" }, { " row1":" value2", " row2":" value3", " row3":" value4", " row4":" value5", " row5":" value6" } ] }&#39 ;;
解码你的Json $ x
$ JSON_OBJECT = json_decode($ x)的;
循环解码的json然后打印你的循环对象" $ json_object"从该对象中,您可以找到正确的类别节点。
foreach($ json_object-> category2 as $ json_object){
print_r($json_object);
echo $needed_value1 = $json_object->row1;
echo $needed_value2 = $json_object->row5;
echo $needed_value1 = $json_object->row1;
etc.....
}