gpt4 book ai didi

Java,映射 JSON 的键

转载 作者:太空宇宙 更新时间:2023-11-04 09:50:15 24 4
gpt4 key购买 nike

这就是我想做的
我有一个 json,例如:

{
"demoNumber":123,
"demoText":"asdasdasd"
}

我想从中创建一个简单的字符串数组,它应该是

["demoNumber","demoText"]

在应用程序中,我们让用户可以添加任何类型的数据,因此我们无法为所有内容创建数据模型,这不是一个选项

我已将 json 添加到我的 Gradle 中:

dependencies {
implementation 'org.json:json:20180130'
}

但是还是找不到方法。

我尝试过:

JSONObject jo = null;
try {
jo = new JSONObject(
"{\"city\":\"chicago\",\"name\":\"jon doe\",\"age\":\"22\"}"
);
} catch (JSONException e) {
e.printStackTrace();
}
Set<String> keys = jo.toMap().keySet();

我仍然收到错误:“无法解析方法‘toMap()’”。Gradle 已导入,我什至下载了包含这些的 jar 文件,并将其添加到 libs 中,Android Studio仍然找不到该方法。

工作解决方案:

ArrayList keyList = new ArrayList<>();
Iterator< ? > keys = jo.keys();

while (keys.hasNext()) {
String key = (String) keys.next();
keyList.add(key);
}

最佳答案

org.json中没有toMap()方法,直接调用JsonObject上的keySet()即可

Set<String> keys = jo.keySet();

相同的文档 here .

下面的代码有效

import java.util.Set;
import org.json.JSONException;
import org.json.JSONObject;

public class ExampleMainOne {

public static void main(String[] args) {

JSONObject jo = null;
try {
jo = new JSONObject("{\"city\":\"chicago\",\"name\":\"jon doe\",\"age\":\"22\"}");
} catch (JSONException e) {
e.printStackTrace();
}
Set<String> keys = jo.toMap().keySet();

System.out.println(keys); //[city, name, age]

}

}

关于Java,映射 JSON 的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54853650/

24 4 0
文章推荐: linux - if thens 的 Bash 语法
文章推荐: html - 一个或多个
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com