亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java讀取文本文件以獲取特定格式的值

Java讀取文本文件以獲取特定格式的值

料青山看我應如是 2023-06-21 09:02:14
我需要讀取包含以下數據的文本文件:{“汽車”:{“名稱”:“豐田”,“vin”:637834623,“位置”:“SomePlace”}}我需要獲取名稱、vin 和位置我該怎么做呢?我想我可以嘗試使用 JSON 來讀取它,它會起作用嗎?謝謝
查看完整描述

2 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

這是一個使用GSON?(谷歌的 json 庫)的工作示例:

請注意,您必須使用""引號而不是“”,因為后者在 JSON 中無效。如果需要,您可以.replaceAll(...)在輸入字符串上使用替換這些字符。


public class ReadCarFile {


? ? public static final Gson gson = new GsonBuilder().registerTypeAdapter(Car.class, new CarTypeAdapter()).create();


? ? public static void main(String[] args) {

? ? ? ? String input = "{\"car\":{\"name\":\"Toyota\",\"vin\":637834623,\"location\":”SomePlace\"}}";


? ? ? ? Car result = gson.fromJson(input, Car.class);

? ? }


? ? static class CarTypeAdapter implements JsonDeserializer<Car> {


? ? ? ? @Override

? ? ? ? public Car deserialize(JsonElement jsonElement, Type type, JsonDeserializationContext jsonDeserializationContext) throws JsonParseException {

? ? ? ? ? ? JsonObject carObject = jsonElement.getAsJsonObject().get("car").getAsJsonObject();


? ? ? ? ? ? Car car = new Car();

? ? ? ? ? ? car.name = carObject.get("name").getAsString();

? ? ? ? ? ? car.vin = carObject.get("vin").getAsInt();

? ? ? ? ? ? car.location = carObject.get("location").getAsString();

? ? ? ? ? ? return car;

? ? ? ? }

? ? }


? ? static class Car {


? ? ? ? @SerializedName("name")

? ? ? ? public String name;


? ? ? ? @SerializedName("vin")

? ? ? ? public int vin;


? ? ? ? @SerializedName("location")

? ? ? ? public String location;


? ? }

}


查看完整回答
反對 回復 2023-06-21
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

這些數字不需要像上面提到的那樣被引用,下面是有效的 JSON。使用像這里這樣的 JSON linter將確認這一點。使用GSON或Jackson之類的包將其反序列化為您的 Java 應用程序可以輕松使用的 Car POJO。我個人喜歡 Jackson,盡管對于簡單的使用來說它可能有點重量級。


{

? ? "car": {

? ? ? ? "name": "Toyota",

? ? ? ? "vin": 637834623,

? ? ? ? "location": "SomePlace"

? ? }

}


查看完整回答
反對 回復 2023-06-21
  • 2 回答
  • 0 關注
  • 178 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號