Почему ключ отображается в виде строки? - PullRequest
0 голосов
/ 16 января 2019

Я использую майку со спрингбутом. Ниже мой код и ответ я получаю.

Код:

@Component
@Path("/books")
public class BookController {
    @GET
    @Produces("application/json")
    public Map getAllBooks() {

        Map jsonObject = new HashMap<>();
        jsonObject.put(1,1);
        jsonObject.put("2","string2");
        return jsonObject;
    }
}

Ответ в браузере Chrome:

{ "1": 1, "2": "string2"} * +1009 *

Как видите, ключ первого объекта является целым числом, но в браузере он отображается как строка. как отобразить ключ как целое число в браузере.

1 Ответ

0 голосов
/ 16 января 2019

Согласно спецификации ключом объекта JSON является всегда строка. Цитируя RFC:

структура объекта представляется в виде пары фигурных скобок окружающий ноль или более пары имя / значение (или члены). A имя строка . После каждого имени стоит двоеточие, отделяя имя от стоимости. Одна запятая отделяет значение от следующего название. Имена внутри объекта ДОЛЖНЫ быть уникальными.

Итак, ответ на ваш вопрос: вы не можете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...