gpt4 book ai didi

java - 使用 JSONObject 解析 json 字符串以获取特定值

转载 作者:行者123 更新时间:2023-12-02 07:22:17 26 4
gpt4 key购买 nike

在java中,我试图解析这个json中的值..

[
{
"2012-01-02": {
"age": 3,
"dob": "2010-01-03",
"name": "jack"
},
"2012-01-03": {
"age": 3,
"dob": "2010-01-04",
"name": "jill"
},
"2012-01-04": {
"age": 3,
"dob": "2010-01-05",
"name": "john"
},
"2012-01-05": {
"age": 3,
"dob": "2010-01-06",
"name": "miran"
}
}
]

使用 JSONObject,我试图获取“年龄”的值,然后将它们相加以进行一些数据操作。

  • 我创建了一个 JSONObject
  • 创建一个迭代器,然后将它们存储到 map
  • 这让我得到了内部元素,例如:

    {
    "age": 3,
    "dob": "2010-01-06",
    "name": "miran"
    }

在此之后,不知道如何从每个元素中提取年龄。我是否创建另一个 jsonobject 并传递这个新字符串,从中提取年龄,还是有更好的方法来做到这一点? (我确信有一个)

更新:

这就是我目前所拥有的{"age":3,"dob":"2012-01-06","name":"miran"}

    JSONObject jsonobj = new JSONObject();


try {
jsonobj = new JSONObject(pastweekVol);
Iterator iter = jsonobj.keys();
Map<String, String> map = new HashMap<String, String>();

while(iter.hasNext()){
String jsonkey = (String)iter.next();
String value = jsonobj.getString(jsonkey);
logger.debug("first pass value is: {}", value);
} catch (JSONException je) {
logger.debug("exception is: {}",je);
}

我在想,既然我得到了 {"age":3,"dob":"2012-01-06","name":"miran"},我会创建另一个 json 对象并传入这个字符串,这将为我提供“年龄”的值。这里的问题是我得到了重复的值。当然,这里缺少一些非常基本的东西,但我似乎无法弄清楚。

最佳答案

如果您将内部元素作为 JSONObject 实例 - 比如说 person - 那么您可以直接访问年龄:

int age = person.getInt("age");

并用它做一些事情:

sum += age;

关于java - 使用 JSONObject 解析 json 字符串以获取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14061197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com