Преобразование целого в конкретный формат String

У меня есть целочисленное значение, скажем, int idчье значение я получаю во время выполнения функцией getter. Я хочу заменить это значение idвместо "VALUE".json следующим образом

{ "id":"VALUE", "name": "Name updated", "description": "description Updated", "active": false }

Я нашел следующий способ заменить его, если idесть String,

String str = "myJson.json";
str.replace(""VALUE"", ""id"");

Как я могу использовать int id в вышеуказанной функции с этим форматом "" id ""? Любое другое решение приветствуется.

РЕДАКТИРОВАТЬ:

String str = "myJson.json";

это неправильный способ получить содержимое json в String.

java,json,string,integer,

0

Ответов: 3


0

Вы можете сделать это с простой regexзаменой, например:

public static void main(String[] args) {
    String value = "{"id":"VALUE","name": "Name updated","description": "description Updated","active": false}";
    int id = 5;
    value = value.replaceAll(""VALUE"", String.valueOf(id));
    System.out.println(value);
}

0

Используя библиотеку org.json, вы можете назначить ее объекту JSON и использовать метод put:

JSONObject jsonObject= new JSONObject(YOUR_STRING);
String[] names = JSONObject.getNames(jsonObject);
JSONArray jsonArray = jsonObject.toJSONArray(new JSONArray(names));

 JSONObject id=  jsonArray.getJSONObject(0).getJSONObject("id");
    person.put("VALUE", id);

regex replace может создать некоторую проблему, заменив другую строку соответствия.


0 принят

Я сделал это следующим образом. Для замены содержимого Json-файла необходимо преобразовать содержимое в String. Я сделал это с помощью следующей функции.

public static String loadJson(String jsonFileName) throws IOException {
    InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(jsonFileName);
    return IOUtils.toString(stream);
}

Затем объявите переменную String,

String editedJson = loadJson(TEST_SET + "myJson.json");
editedJson.replace("VALUE", "" + id);
Java, JSON, строка, целое число,
Похожие вопросы