r - 重命名 JSON 实体流
问题描述
我有一个 JSON 实体流。这是其中之一,称为“信息”:
null
null
{
"id": "qwefhu214o",
"number": "2346",
"date": "28.01.2019"
}
null
null
{
"id": "esg324lif",
"number": "1378",
"date": "29.05.2019"
}
{
"id": "gwrs853sdf",
"number": "4487",
"date": "20.12.2019"
}
我想从嵌套的 json 中提取键,所以它看起来像这样:
null
null
{
"info_id": "qwefhu214o",
"info_number": "2346",
"info_date": "28.01.2019"
}
null
null
{
"info_id": "esg324lif",
"info_number": "1378",
"info_date": "29.05.2019"
}
{
"info_id": "gwrs853sdf",
"info_number": "4487",
"info_date": "20.12.2019"
}
我试试这个,但它不起作用:
jqr::jq('.[].info |= with_entries(.key |= "info_" + .)')
它说:
Error: lexical error: invalid char in json text.
NA
(right here) ------^
我猜是因为NULL。我怎么能这样做?我应该放在某个地方吗?在代码中?该代码适用于存在 np NULL 的情况
解决方案
显示的“嵌套 JSON”实际上是 JSON 实体流,以下过滤器将为此生成所需的结果:
if . then with_entries(.key |= "info_" + .) else . end
您可以根据需要轻松修改此过滤器。
推荐阅读
- css - div 中的文本与具有表格单元格显示属性的图像对齐
- c# - 游戏在统一上运行良好,但在 android 上运行不正常
- swift - 在 Swift 3 中刷新集合视图后点击发送按钮时重复数据?
- jdk1.6 - bootstrap-4.0-dist 给出错误消息,将 jdk1.6 与 myeclipse 10 匹配
- c# - 修复 C# 中的 A* 实现
- r - 如何命名数据框以便我可以在列表中查找它
- reactjs - 映射-reactjs 时出现一些语法错误
- c - 无法在 C 中创建目录?
- html - 为什么我们需要外部旋转按钮来从数字中删除箭头
- c# - C# 无法使用任务返回类型方法委托事件处理程序