使用 PHP 代码将字符串转换为 JSON 格式的数组

目标: 将以下字符串转换为 JSON 格式的数组:

$txt='啊,http://a.com
是,http://b.com
的,http://c.com';

预期输出:

{
    "id": "1",
    "name": "啊",
    "url": "http://a.com"
},
{
    "id": "2",
    "name": "是",
    "url": "http://b.com"
},
{
    "id": "3",
    "name": "的",
    "url": "http://c.com"
}

实现方法:

  1. 将字符串按行分割,得到一个数组。
  2. 遍历数组,对于每一行进行处理: a. 使用 explode 函数将其拆分成两个部分,分别是名字和 URL。 b. 使用 json_encode 函数将得到的信息转换成 JSON 格式的字符串。 c. 将得到的 JSON 字符串添加到一个数组中。
  3. 遍历完数组后,将数组中的所有元素拼接成一个大的字符串,并在字符串前后添加 [ 和 ],表示这是一个 JSON 数组。
  4. 输出拼接好的字符串即可。

代码示例:

$txt='啊,http://a.com
是,http://b.com
的,http://c.com';

$lines = explode("\n", $txt);
$jsonArray = [];
$id = 1;

foreach ($lines as $line) {
    list($name, $url) = explode(',', $line);
    $jsonArray[] = json_encode(['id' => $id++, 'name' => trim($name), 'url' => trim($url)]);
}

echo '[' . implode(',', $jsonArray) . ']';

输出结果:

[
    {"id":"1","name":"啊","url":"http://a.com"},
    {"id":"2","name":"是","url":"http://b.com"},
    {"id":"3","name":"的","url":"http://c.com"}
]

解释:

  • explode("\n", $txt) 将字符串 $txt 按行分割成一个数组 $lines。
  • 循环遍历 $lines 数组,使用 explode(',', $line) 将每行按逗号分割成两个部分,分别是名字 $name 和 URL $url。
  • json_encode(['id' => $id++, 'name' => trim($name), 'url' => trim($url)]) 将 id、name 和 url 组成一个数组,并使用 json_encode 函数将其转换成 JSON 格式的字符串。
  • $jsonArray[] 将转换后的 JSON 字符串添加到 $jsonArray 数组中。
  • 最后,使用 implode(',', $jsonArray) 将 $jsonArray 数组中的所有元素拼接成一个大的字符串,并在字符串前后添加 [ 和 ],表示这是一个 JSON 数组,并输出结果。

注意:

  • 代码中使用 trim($name) 和 trim($url) 来去除名字和 URL 两端可能存在的空格。
  • 输出的 JSON 格式的数组是一个标准的 JSON 数组,可以使用 JavaScript、Python 等语言进行解析和使用。

希望这篇文章能够帮助您理解如何使用 PHP 代码将字符串转换为 JSON 格式的数组。

相关阅读:

PHP 代码:将字符串转换为 JSON 格式的数组

原文地址: https://www.cveoy.top/t/topic/ooZv 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录