首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JsonSlurper映射的Json数组

使用JsonSlurper映射的Json数组
EN

Stack Overflow用户
提问于 2019-05-24 11:16:09
回答 1查看 368关注 0票数 0

我想创建一个数据映射,其中PID值作为键,名称作为json数组的数组。下面是json结构:

代码语言:javascript
复制
{
"measurements": [
    {
        "pid": 6691,
        "name": "lung",
        "measurement": "qualityFactor",
    },
    {
        "pid": 1106,
        "name": "kidney",
        "measurement": "qualityFactor",
    },
    {
        "id": 119,
        "name": "pancreas",
        "measurement": "qualityFactor",
    },

]

}

下面是我使用Groovy的尝试,但我被卡住了:

代码语言:javascript
复制
    def jsonSlurper= new JsonSlurper()
    Object objs=jsonSlurper.parseText(jsonData) 
    List pp =objs.data 
    Map<String,String> m=new HashMap()
    pp.each{ it ->
        it.collect{Map mm ->
            println "Map m is ${mm}"

        }
    }

我希望地图看起来像"6691“:”肺“,"1106”:“肾”....等。

我能做到这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-24 17:33:16

作为经过更正的JSON的完整答案:

代码语言:javascript
复制
def json = '''{
    "measurements": [
        {
            "pid": 6691,
            "name": "lung",
            "measurement": "qualityFactor",
        },
        {
            "pid": 1106,
            "name": "kidney",
            "measurement": "qualityFactor",
        },
        {
            "pid": 119,
            "name": "pancreas",
            "measurement": "qualityFactor",
        }
    ]
}
'''

import groovy.json.*

def parsed = new JsonSlurper().parseText(json)
def map = map.measurements.collectEntries { [it.pid.toString(), it.name] }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56285397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档