Есть файл с настройками стороннего приложения json. В файле есть координаты GPS, которые надо изменить на мои.
Пример содержимого файла:
{
"map": {
"lng": 37.01236582545265,
"lat": 54.98325589056621,
"speed": 1.9,
"radius": 1.0,
},
}
второй день бьюсь над этим, не могу поменять координаты для lng и lat.
Собственно, даже прочитать значения lng и lat не получается:
JsonParser parser = new JsonParser();
JsonElement jsonElement = parser.parse("C:\\Users\\...\\test.json");
JsonObject rootObject = jsonElement.getAsJsonObject();
JsonObject childObject = rootObject.getAsJsonObject("map");
String place = childObject.get("lat").getAsString();
System.out.println(place);
Помогите с кодом для чтения, а самое главное для замены значений lat и lng
Я использую minimal-json поэтому код вот такой:
p.s.: ваш json я немного подправил - убрал запятые в конце Вычитывает json из файла, в файле тоже что и в строке String, только без экранирований кавычек конечно. Сохраняет в файл новый json.
try {
//Read from file
String jsonn = new String(Files.readAllBytes(Paths.get("/home/ufo/1.txt")));
//Read from String
//String jsonn = "{ \"map\": {\"lng\": 37.01236582545265, \"lat\": 54.98325589056621, \"speed\": 1.9, \"radius\": 1.0 } }";
JsonValue value = Json.parse(jsonn);
value.asObject().get("map").asObject().set("lng", 16.2222222);
value.asObject().get("map").asObject().set("lat", 17.3333333);
//Debug
System.out.println(value.toString());
//Write to file
PrintWriter writer = new PrintWriter("/home/ufo/1.txt", "UTF-8");
writer.println(value.toString());
writer.close();
} catch (IOException ex) {
System.err.println(ex.getMessage());
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости