首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在java中从Json对象创建元素

如何在java中从Json对象创建元素
EN

Stack Overflow用户
提问于 2020-01-13 18:07:07
回答 1查看 128关注 0票数 0

这是我调用API时的json对象。

工作

代码语言:javascript
复制
{
    "path": "/",
    "isBase64Encoded": false,
    "requestContext": {
        "resourceId": "20gm43r4fa",
        "resourcePath": "/",
        "httpMethod": "POST",
        "extendedRequestId": "GO6ktGL_IAMFaLA=",
        "requestTime": "13/Jan/2020:09:53:34 +0000",
        "path": "/",
        "accountId": "***",
        "protocol": "HTTP/1.1",
        "stage": "test-invoke-stage",
        "domainPrefix": "testPrefix",
        "requestTimeEpoch": 1578909214062,
        "requestId": "dgdfg-ad12-431a-b1b9-***",
        "identity": {
            "accountId": "***",
            "caller": "345345:a.b@***.com",
            "apiKey": "test-invoke-api-key",
            "sourceIp": "test-invoke-source-ip",
            "accessKey": "&&YY&&YH",
            "userArn": "arn:aws:sts::***:assumed-role/****-PowerUser/ab.dx@****.com",
            "apiKeyId": "test-invoke-api-key-id",
            "userAgent": "aws-internal/3 aws-sdk-java/1.11.690 Linux/4.9.184-0.1.ac.235.83.329.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.232-b09 java/1.8.0_232 vendor/Oracle_Corporation",
            "user": "345345345:Sa.b@***.com"
        },
        "domainName": "testPrefix.testDomainName",
        "apiId": "dfgdf"
    },
    "resource": "/",
    "httpMethod": "POST",
    "body": "{\"ID\":\"sup-9749-0e710000fd04\",\"VERSION\":1,\"AUDIT_EVENT_TO_DATE_TP\":null}"
}

JSON的主体是这样的

bodyofJson

代码语言:javascript
复制
{
    "ID": "sup-9749-0e710000fd04",
    "VERSION": 1,
    "ACTION_TYPE": "NEW_CASE",
    "EVENT_TYPE": "WORLDCHECK"
}

我需要获得json的主体和密钥作为ID,它在主体json中。我可以获取Body,但无法从body json获取ID

这就是我正在做的事情

代码语言:javascript
复制
JSONObject job = new JSONObject(json);
System.out.println("****job*******"+job);
String bodyofJson = job.getString("body");
System.out.println("****bodyofJson*******"+bodyofJson);

ID的位置也可以改变,所以这就是为什么我不是基于索引的原因

请给出建议

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-13 18:21:39

body密钥还包含json。因此,我们需要将其解析为JSONObject并获取ID的值。

代码如下:

代码语言:javascript
复制
JSONObject job = new JSONObject(json);
System.out.println("****job*******"+job);
String bodyofJson = job.getString("body");
System.out.println("****bodyofJson*******"+bodyofJson);
// Parse bodyofJson as JSONObject
JSONObject bodyJsonObj = new JSONObject(bodyofJson);
System.out.println(bodyJsonObj.get("ID"));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59714399

复制
相关文章

相似问题

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