gpt4 book ai didi

java - 从 JSON 中提取

转载 作者:行者123 更新时间:2023-11-30 02:20:33 25 4
gpt4 key购买 nike

"biodata": {
"Ruby": {
"Expertise": "web development",
"EXperience": "5 years"
},
"Dylon": {
"Expertise": "Java",
"EXperience": "2 years"
}
}

我有上面的 JSONObject 。我正试图在这里取一些 key 。

  1. 我正在寻找名称键,即 Ruby、Dylon 等。
  2. 然后我尝试获取“Experience”键值。

所需输出:

名称= ruby
经验 = 5 年

我的代码:

JSONParser parser = new JSONParser();

Object obj = parser.parse(new FileReader("path to JSON file"));

JSONObject jsonobj = (JSONObject) obj;

String statistics = jsonobj.getString("biodata"); //The method getString(String) is undefined for the type JSONObject

for (Iterator key = jsonobj.keys(); itr.hasNext();) {//The method keys() is undefined for the type JSONObject //itr cannot be resolved
JSONObject name = jsonobj.get(key.next()); //Type mismatch: cannot convert from Object to JSONObject
String key = key.next();//The method next() is undefined for the type String
JSONObject name = jsonobj.get(key); //Type mismatch: cannot convert from Object to JSONObject
Log.d("data", "key="+key+ " and value="+jsonobj.toString()); //Log cannot be resolved
}

我已经在代码注释中提到了错误。

最佳答案

您的 json 无效。

你应该改成这个。

{ 
"biodata": {
"Ruby": {
"Expertise": "web development",
"EXperience": "5 years"
},
"Dylon": {
"Expertise": "Java",
"EXperience": "2 years"
}
}
}

试试这个。

private void jsonParse() {
try {
// use jsonobject to parse json with
JSONParser parser = new JSONParser();

Object obj = parser.parse(new FileReader("path to JSON file"));

JSONObject jsonObject = (JSONObject) obj;

// get jsonobject by biodata tag
JSONObject biodata = jsonObject.getJSONObject("biodata");
// use Iterator to get name
Iterator<String> names = biodata.keys();
// use while loop
while (names.hasNext()) {
// get name
String name = names.next().toString();
Log.d("data", "name=" + name);
// get jsonobject by name tag
JSONObject nameJsonObject = biodata.getJSONObject(name);
// get string
String Expertise = nameJsonObject.getString("Expertise");
String EXperience = nameJsonObject.getString("EXperience");
Log.d("data", "Experience =" + EXperience);
}
} catch (JSONException e) {
e.printStackTrace();
}
}

关于java - 从 JSON 中提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46989920/

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