Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json数据复制和替换自动化_Json_Bash_Scripting_Notepad++ - Fatal编程技术网

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"

如有任何建议,将不胜感激

我有一个包含近10000个元素的json文件,其中我需要根据条件复制2000个元素,并在执行此操作时替换属性

前。 输入: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"
  }
  }
输出: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实用程序。看见