首页 > 技术文章 > LeanCloud 数据导出和导入:JSON Lines 转换为 JSON

sysin 2021-07-03 14:31 原文

请访问原文链接:https://sysin.org/blog/convert-jsonl-to-json/,查看最新版。原创作品,转载请保留出处。

作者:gc(at)sysin.org,主页:www.sysin.org

Convert JSON Lines to JSON

场景

LeanCloud 数据导出和导入操作这里不赘述,导出的文件格式为 JSON Lines,而数据导入格式支持 JSON 和 CSV,这里就需要将 JSON Lines 转换为 JSON。

LeanCloud 简介:领先的 BaaS 提供商,提供数据存储、文件存储、云引擎、容器、即时通讯、消息推送、短信、游戏云等多项服务,为移动开发提供强有力的后端支持。

BaaS:Backend as a Service,后端即服务。

方法

sed '1s/^/[/; $!s/$/,/; $s/$/]/' in.jsonl > out.json

释义

sed 脚本由三个单独的替换组成:

1s/^/[/      # 在第一行的开头插入一个左括号
$!s/$/,/     # 除了最后一行之外的所有地方都附加一个逗号
$s/$/]/      # 在最后一行附加一个右括号

注意事项

注意导出的 JSON Lines 通常有注释的头部,转换后需要删除,导入的时候手动输入 class 名称。

注释部分例如:

#filetype:JSON-streaming {"type":"Class","class":"Comment"}

参考

Convert JSON Lines to JSON array using jq

推荐阅读