如何从PHP获取Json数据

时间:2017-08-03 17:37:40

标签: php json

这是我的Json数据: -

{"data":[{"text1":"value1","text2":"value2","text3":"values3"},{"text1":"value1","text2":"value2","text3":"values"},{"text1":"value1","text2":"value2","text3":"values"},{"text1":"value1","text2":"value2","text3":"values"}, ....

我怎样才能获得这种格式? 0到数组的长度。

"0 Line,text1=value,text2=value2,text3=values3"
"1 Line,text1=value,text2=value2,text3=values3"
"2 Line,text1=value,text2=value2,text3=values3"
"3 Line,text1=value,text2=value2,text3=values3"
"4 Line,text1=value,text2=value2,text3=values3"
"5 Line,text1=value,text2=value2,text3=values3"
....

请帮助我,我对json很新。我花了太多时间没有结果。我的代码 -

$obj = json_decode($json);
echo $obj->data[0]->text1;

2 个答案:

答案 0 :(得分:1)

你可以这样做: -

<?php

$json = '{"data":[{"text1":"value1","text2":"value2","text3":"values3"},{"text1":"value1","text2":"value2","text3":"values"},{"text1":"value1","text2":"value2","text3":"values"},{"text1":"value1","text2":"value2","text3":"values"}]}';

$json_array = json_decode($json,true); // convert to php array
//print_r($json_array);

foreach($json_array['data'] as $key=>$val){ // iterate over array
  $data ="$key line,";
  foreach($val as $k=>$v){ // iterate over child-array or sub-array you can say
     $data .="$k=$v,";
  }
  echo trim($data,",");
  echo PHP_EOL; // you can use `echo "<br>";` for rendering to browser
}

输出: - https://eval.in/841221 https://eval.in/841222 {{3} } https://eval.in/841223

答案 1 :(得分:0)

Json是一个修复格式字符串,你可以很容易地将它转换为json.abusively如果你在php中使用json使用行数据而不是post或set如果你使用原始数据(通过json传递json)使用以下方法 php://input

$rawData = file_get_contents("php://input"); $data_array = json_decode($rawData);

现在$ data_array是一个对象数组

如果您将此josn发布到获取或直接使用

$rawdata = $_POST['jsondata']; $data_array = json_decode($rawData);

希望对你有所帮助