Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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
Java 无法在groovy中从json数组中筛选对象_Java_Json_Groovy - Fatal编程技术网

Java 无法在groovy中从json数组中筛选对象

Java 无法在groovy中从json数组中筛选对象,java,json,groovy,Java,Json,Groovy,在groovy中,我有以下对象。(类型:[Ljava.lang.Object) 我想根据id修改/删除此JSON数组列表 我尝试从列表中筛选所需的json对象 parsedJSON = parser.parseText(test); parsedJSON.findAll{ it.id == 'rod_1565173139923' }); 这就是我的原因 类:java.lang.String没有这样的属性:id 我做错了什么 谢谢!只需几个语法修复,您的代码就能正常工作: def test

在groovy中,我有以下对象。(类型:[Ljava.lang.Object)

我想根据id修改/删除此JSON数组列表

我尝试从列表中筛选所需的json对象

parsedJSON = parser.parseText(test);  
parsedJSON.findAll{ it.id == 'rod_1565173139923' });
这就是我的原因

类:java.lang.String没有这样的属性:id

我做错了什么


谢谢!

只需几个语法修复,您的代码就能正常工作:

def test = '''[  
   {  
      "id":"rod_1565173117796",
      "userName":"rod",
      "displayName":"Rod",
      "date":1565173117796,
      "comment":"ok"
   },
   {  
      "id":"rod_1565173139923",
      "userName":"rod",
      "displayName":"Rod",
      "date":1565173139923,
      "comment":"fine"
   }
]'''

def parser = new groovy.json.JsonSlurper()
def parsedJSON = parser.parseText(test);  
def filtered = parsedJSON.findAll{ it.id == 'rod_1565173139923' }

太好了!我把最后两行混合到def filtered=parsedJSON.findAll{parser.parseText(it).id='rod_1565173139923'}
def test = '''[  
   {  
      "id":"rod_1565173117796",
      "userName":"rod",
      "displayName":"Rod",
      "date":1565173117796,
      "comment":"ok"
   },
   {  
      "id":"rod_1565173139923",
      "userName":"rod",
      "displayName":"Rod",
      "date":1565173139923,
      "comment":"fine"
   }
]'''

def parser = new groovy.json.JsonSlurper()
def parsedJSON = parser.parseText(test);  
def filtered = parsedJSON.findAll{ it.id == 'rod_1565173139923' }