Я хочу проанализировать некоторые JSON данные в формате uint32 и uint64, которые отправляются в виде чисел (без кавычек), а затем использовать их в java.
Я обнаружил, что могу их сохранить как целые числа без знака с помощью метода parseUnsignedInt (String) , но проблема в том, что я не могу получить значение json в виде строки, поскольку в нем отсутствуют кавычки. Если я проанализирую его как целое, возвращенное значение будет неправильным, прежде чем я смогу его преобразовать.
Пример:
// data is a JSONObject containing: {"number" : 4294967294}
...
System.out.println(data.getInt("number"));
// returns: -10001
System.out.println(Integer.parseUnsignedInt(data.getString("number")));
// returns: JSONObject["number"] not a string.
System.out.println(Integer.parseUnsignedInt(Integer.toString(data.getInt("number"))));
// returns: Illegal leading minus sign on unsigned string -10001.
Есть ли способ извлечь значение из json объект как строка (или любой другой способ, который не разрушает ее)?