JSON与XML相互转换

在 Web 开发中,经常需要将数据在 JSON 和 XML 格式之间进行相互转换。这种转换可以让不同系统之间更轻松地交换数据,因为 JSON 与 XML 是两种常用的数据交换格式。接下来我将介绍如何在 PHP 中进行 JSON 与 XML 的相互转换。

1. **JSON 转换为 XML**:
在 PHP 中,你可以使用 json_decode() 函数将 JSON 字符串解码为 PHP 数组,然后使用 SimpleXMLElement 类将数组转换为 XML。示例代码如下:

$json_string = '{"name": "Alice", "age": 30}';
$data = json_decode($json_string, true);

$xml = new SimpleXMLElement('');
array_walk_recursive($data, array ($xml, 'addChild'));

echo $xml->asXML();

在上面的示例中,我们首先将 JSON 字符串解码为 PHP 数组,然后使用 SimpleXMLElement 将该数组转换为 XML 格式,并最终输出 XML 字符串。

2. **XML 转换为 JSON**:
如果要将 XML 转换为 JSON,可以使用 SimpleXMLElement 类解析 XML,再将其转换为数组,最后使用 json_encode() 将数组转换为 JSON 字符串。示例代码如下:

$xml_string = 'Alice30';
$xml = simplexml_load_string($xml_string);

$json = json_encode($xml);
echo $json;

在上面的示例中,我们首先使用 simplexml_load_string() 函数解析 XML 字符串,然后将 SimpleXMLElement 对象转换为数组,最后使用 json_encode() 将数组转换为 JSON 字符串。