gpt4 book ai didi

Java读取文本文件以获取特定格式的值

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

我需要读取包含以下数据的文本文件:

{“汽车”:{“名称”:“丰田”,“vin”:637834623,“位置”:“SomePlace”}}

我需要获取姓名、车辆识别号和位置

我该如何去做呢?我想我可以尝试使用 JSON 来读取它,它会起作用吗?

谢谢

最佳答案

这是一个使用 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;

}
}

关于Java读取文本文件以获取特定格式的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57578052/

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