如何将json数组保存到Map〈String,String>

vshtjzan  于 2023-04-08  发布在  其他
关注(0)|答案(1)|浏览(126)

我有一个LinkedHashMap〈String,String〉,里面保存了一个这样的条目:

"cars":[{"number":"304813674","mark":"AUTO","flag":true}]

其中汽车是键,list是值。问题是这个条目保存为字符串,因为Map有参数〈string,string〉。当我尝试使用
String汽车= map.get(“cars);我得到异常:
“无法将java.util.ArrayList强制转换为java.lang.String”
我需要得到车内的每一个值(号码,标记和标志)。我如何才能实现它?

hc8w905p

hc8w905p1#

对不起,但这不是正确的方法。如果你想处理JSON,那么你 * 必须/应该 * 在java中使用JSONObjectJSONArray!-〉除非你使用Sping Boot ,否则就是另一回事了。
给你一个例子:

import org.json.JSONArray;
import org.json.JSONObject;

// create a JSON object
JSONObject person = new JSONObject();
person.put("name", "John Doe");
person.put("age", 30);
person.put("isMarried", true);

// create a JSON array
JSONArray hobbies = new JSONArray();
hobbies.put("reading");
hobbies.put("hiking");
hobbies.put("playing video games");

person.put("hobbies", hobbies);

// convert the JSON object to a string
String jsonStr = person.toString();

// parse the JSON string back into a JSON object
JSONObject parsedPerson = new JSONObject(jsonStr);

// get values from the JSON object
String name = parsedPerson.getString("name");
int age = parsedPerson.getInt("age");
boolean isMarried = parsedPerson.getBoolean("isMarried");

JSONArray parsedHobbies = parsedPerson.getJSONArray("hobbies");

// loop through the JSON array to get the hobby values
for (int i = 0; i < parsedHobbies.length(); i++) {
    String hobby = parsedHobbies.getString(i);
    System.out.println(hobby);
}

希望这能帮上忙。

相关问题