Json数据复制和替换自动化
如有任何建议,将不胜感激 我有一个包含近10000个元素的json文件,其中我需要根据条件复制2000个元素,并在执行此操作时替换属性 前。 输入:jsonData.json //其他要素Json数据复制和替换自动化,json,bash,scripting,notepad++,Json,Bash,Scripting,Notepad++,如有任何建议,将不胜感激 我有一个包含近10000个元素的json文件,其中我需要根据条件复制2000个元素,并在执行此操作时替换属性 前。 输入:jsonData.json //其他要素 { "_id" :ObjectId("123"), "_arryAtt" : { "attr1":"dummy", "attr2":"123" } } { "_id" :ObjectId("123"), "_arryAtt" : { "attr1":"dummy"
{
"_id" :ObjectId("123"),
"_arryAtt" : {
"attr1":"dummy",
"attr2":"123"
}
}
{
"_id" :ObjectId("123"),
"_arryAtt" : {
"attr1":"dummy",
"attr2":"123"
}
}
{
"_arryAtt" : {
"attr1":"dummy",
"attr2":"567"
}
}
//其他要素
{
"_id" :ObjectId("123"),
"_arryAtt" : {
"attr1":"dummy",
"attr2":"123"
}
}
{
"_id" :ObjectId("123"),
"_arryAtt" : {
"attr1":"dummy",
"attr2":"123"
}
}
{
"_arryAtt" : {
"attr1":"dummy",
"attr2":"567"
}
}
输出:jsonData.json
//其他要素
{
"_id" :ObjectId("123"),
"_arryAtt" : {
"attr1":"dummy",
"attr2":"123"
}
}
{
"_id" :ObjectId("123"),
"_arryAtt" : {
"attr1":"dummy",
"attr2":"123"
}
}
{
"_arryAtt" : {
"attr1":"dummy",
"attr2":"567"
}
}
//其他要素
{
"_id" :ObjectId("123"),
"_arryAtt" : {
"attr1":"dummy",
"attr2":"123"
}
}
{
"_id" :ObjectId("123"),
"_arryAtt" : {
"attr1":"dummy",
"attr2":"123"
}
}
{
"_arryAtt" : {
"attr1":"dummy",
"attr2":"567"
}
}
复制的对象中缺少Id
我熟悉java
如果我不想写一个自定义的解析器,我怎么能做到这一点呢。。。
我可以使用什么样的脚本来自动执行此操作,因为手动运行此操作以复制2000个元素并更改一个属性是很困难的。您应该添加一个您想要实现的真实示例。下面是一些简短但真实的输入和输出示例。您的输入不是有效的JSON,这不仅是因为ObjectD123无效,而且这里在attr1=dummy之后缺少一个逗号。更精确的问题可能会带来一些有用的答案。感谢jm66的回复,真正的例子是我有一个跨环境站点配置的json转储,当我添加一个新的env时,我需要将配置复制到rev1的同一个文件中,并将一个属性更改为rev2。我希望每个env都有单独的文件,但都是大文件,只能导入到mongo实例中,这可能很容易用perl完成。但是如果没有一个真实的例子,我就无法为您编写示例脚本。例如,您需要根据什么标准从10k中选择2000,您需要更改什么属性,如何修复无效的JSON,如上述ObjectD123等等。。许多开放式问题提供了真实的答案。如果perl对您来说还可以,那么看看:perl将是一个很好的解决方案,但是您可能需要研究jq实用程序。看见