如何更新txt文件中的JSON数据?
以下是保存在文件data.txt
的JSON数据示例
[
{"name":"yekky"},
{"name":"mussie"},
{"name":"jessecasicas"}
...// many rows
]
我想更新文件,所以它看起来像这样:
[
{"name":"yekky","num":"1"},
{"name":"mussie","num":"2"},
{"name":"jessecasicas","num":"3"}
...// many rows
]
这是我到目前为止:
$json_data = file_get_contents('data.txt');
// What goes here?
我如何计算JSON树中有多少行?
使用json_decode()
解码PHP数组中的JSON数据,操作PHP数组,然后使用json_encode()
重新编码数据。
例如:
$json_data = json_decode(file_get_contents('data.txt'), true);
for ($i = 0, $len = count($json_data); $i < $len; ++$i) {
$json_data[$i]['num'] = (string) ($i + 1);
}
file_put_contents('data.txt', json_encode($json_data));
您应该使用PHP JSON库进行这些任务。 例如,在从文件中读取JSON数据之后,执行如下操作:
$json = json_decode($json_data);
$itemCount = count($json);
在修改了您的JSON数据之后,再次对其进行编码:
$json_data = json_encode($json);
另外,您似乎想要确认您的JSON数据。 我的建议是只使用json_encode
出来的任何内容并将其保存到您的文件中,因为它可能是JSON数据的最小(文件大小)可能表示形式。
如果以人类可读的方式对其进行格式化,则会产生大量额外的空格/制表符/换行符,这些增加了文件大小和解析时间。
如果你需要自己阅读,你仍然可以手工美化你的JSON数据。
$file = 'data.txt';
$data = json_decode(file_get_contents($file));
foreach ($data as $key => $obj) {
$obj->num = (string)($key+1);
}
file_put_contents($file, json_encode($data));
链接地址: http://www.djcxy.com/p/48203.html