繁体   English   中英

无法从Groovy中的JSON数组过滤对象

[英]Unable to filter object from json array in groovy

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

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

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

我在下面尝试从列表中过滤所需的json对象。

parsedJSON = parser.parseText(test);  
parsedJSON.findAll{ it.id == 'rod_1565173139923' });

这给了我

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

我在做什么错?

谢谢!

只需几个语法修复,您的代码即可工作:

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' }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM