首页 > 解决方案 > 文本到 Json 转换

问题描述

我想将一些数据转换为 json。这是甲酸盐。

这是文本数据

192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
192.168.0.7
192.168.0.8
192.168.0.9

想转换这种类型的json数据

{
    "0":"192.168.0.1",
    "1":"192.168.0.2",
    "2":"192.168.0.3",
    "3":"192.168.0.4",
    "4":"192.168.0.5",
    "5":"192.168.0.6",
    "6":"192.168.0.7",
    "8":"192.168.0.8",
    "10":"192.168.0.9",
}

请帮我 :)

标签: phparraysjson

解决方案


假设您的“文本数据”在变量中,您可以使用将其转换为数组explode(),然后使用标志将其编码为json_encode()JSONJSON_FORCE_OBJECT对象

$textData = <<<_TEXT
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
192.168.0.7
192.168.0.8
192.168.0.9
_TEXT;

$json = json_encode(explode(PHP_EOL, $textData), JSON_FORCE_OBJECT | JSON_PRETTY_PRINT);

演示 ~ https://3v4l.org/BrOSK


如果您的数据在文件中,请使用file()将其读入数组

$json = json_encode(array_map("trim", file("data.txt")), JSON_FORCE_OBJECT | JSON_PRETTY_PRINT);

推荐阅读