如何从PHP数组生成JSON文件?

时间:2012-12-18 11:51:15

标签: php json

  

可能重复:
  How to generate json using php?

我想使用PHP生成JSON文件。现在我正在生成一个XML文件:

public function CreateXML($array){

/*$array contains several arrays and look like this:
  [0] => Array( [0] => Jonas [1] => Anne [2] => Peter)
  [1] => Array( [0] => Andersen [1] => Berg [2] => Jobs)
  [2]......*/   

$newArray = array2();
for($i = 0; $i <= count($array[0]); $i++) {
    $newArray[] = array2($array[0][$i], $array[1][$i], $array[2][$i]);

}

$xmlDoc = new DOMDocument("1.0", "iso-8859-1");

$root = $xmlDoc->appendChild(
          $xmlDoc->createElement("Contacts"));


  foreach($newArray as $row) {

  $tag = $root->appendChild(
              $xmlDoc->createElement("Contact"));

    $tag->appendChild(
       $xmlDoc->createElement("Firstname", $row[0]));

    $tag->appendChild(
       $xmlDoc->createElement("Lastname", $row[1]));
     .......
      }

 $xmlDoc->formatOutput = true;
 echo $xmlDoc->saveXML();
}

//output
<Contacts>
  <Contact>
    <Firstname>Jonas</Firstname>
    <Lastname>Andersen</Lastname>
    .......
  </Contact>
 ......
</Contacts>

所以我的问题是,如何获得相同的结果,而是生成JSON?这是我第一次使用JSON,我无法让它工作。

2 个答案:

答案 0 :(得分:1)

$jsonArray = json_encode(array);

开箱即用(当然在此之前你应该改变你的阵列是一个关联的阵列):)

答案 1 :(得分:0)

最简单的方法是使用json_encode($ array)函数。此函数将数组的json表示形式返回为字符串。该字符串可以写在文件中。