Доступ к именам столбцов из строки, содержащей JSON в java

У меня есть строка в java

String val = "{"column":[{"name":"id,"type":"int"},{"name":"empname","type":"string"}], "database":"test","table":"sample"}"

Как мне получить только имя столбца Мой результат должен быть строкой, содержащей имена столбцов, разделенных пространством табуляции, т.е.

Ожидаемый результат

id      empname

ваш json недействителен

Derick Daniel 17.05.2018 11:16
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
1
67
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш JSON недействителен (кажется, что " отсутствует после id среди других проблем), но, предполагая, что у вас будет аналогичная структура, вы можете использовать lib org.json, как указано в принятом ответе на этот вопрос: Как разобрать JSON в Java?

В вашем случае вам понадобится следующий код:

import org.json.*;

JSONObject obj = new JSONObject(val); 
JSONArray arr = obj.getJSONArray("column");
for (int i = 0; i < arr.length(); i++)
{
    String post_id = arr.getJSONObject(i).getString("name");
    ......
}

Другие вопросы по теме