Есть ли способ рассматривать объект внутри JSON как строку? - PullRequest
0 голосов
/ 02 ноября 2018

Я работаю на Java, и у меня есть JSON, который выглядит примерно так:

{
    "objectList" : [{...}, {...}, ...], 
    "metadata" : {...}    
}

Я хочу получить список и объекты в виде строк JSON. В общем, я хочу десериализовать этот JSON в объект, подобный этому:

{
    "objectList" : "[{...}, {...}, ...]", 
    "metadata" : "{...}"    
}

Так что я могу продолжить обработку этих строк.

Какой лучший способ сделать это?

Я не решаюсь использовать синтаксический анализ строк для извлечения необходимых мне данных, поскольку значения внутри этих объектов могут влиять на то, как они анализируются.

1 Ответ

0 голосов
/ 02 ноября 2018

На вашем месте я бы использовал библиотеку JSON-parsing (например, Gson), чтобы превратить ваш JSON в JsonObject. Затем вы можете просто получить значение objectList как String, используя JsonObject#getAsString:

String json = "{\n" +
              "    \"objectList\" : \"[{...}, {...}, ...]\", \n" +
              "    \"metadata\" : \"{...}\"    \n" +
              "}";

JsonObject jsonObject = new Gson().fromJson(json, JsonObject.class);

System.out.println(jsonObject.get("objectList").getAsString());

Выход:

[{...}, {...}, ...]
...