Как прочитать Json из базы данных (SQL) и преобразовать его в класс Java?

#java #sql #json #database #jsonconvert

#java #sql #json #База данных #jsonconvert

Вопрос:

Я создал столбец типа varchar (max) в таблице в базе данных, используя for JSON Auto, чтобы все столбцы этой таблицы get сохранялись как JSON, включая также внешние ключи.

Теперь мой Json, который я создал, выглядит следующим образом :

 {
    "widgetConfiguration": {
        "id": 1,
        "name": "sfgg",
        "is_cache_enabled": null,
        "xparam": null,
        "xparamvalue": null,
        "yparam": null,
        "yparamvalue": null,
        "operation": null,
        "fromdate": "2020-04-13T00:00:00",
        "todate": null,
        "categorizeon": null,
        "remarks": "t1",
        "limit1": null,
        "filter": null,
        "description": "",
        "add_to_summary": "#EA1136",
        "summaryname": "#E19452",
        "colour": "card t-4",
        "subtitle_alias": null,
        "x_axis_alias": null,
        "y_axis_alias": null,
        "summary_subtitle_alias": null,
        "is_deleted": false,
        "sub_x_axis": null,
        "sub_x_axis_alias": null,
        "category": "domain-category",
        "imgsrc": "./assets/image/Cyber_governence.png",
        "count_category": null,
        "count_column": null,
        "count_category_column": null,
        "drilldown": null,
        "y2axis": null,
        "dualaxis": null,
        "threshold_field": null,
        "createdby": null,
        "createdon": null,
        "modifiedby": "afgafg",
        "modifieddate": "2020-04-13T00:00:00",
        "showOnCategories": null,
        "priority": 1,
        "link": null,
        "percent_stacked": null,
        "y1axistype": null,
        "y2axistype": null,
        "note": null,
        "drilldown_title1": null,
        "drilldown_title2": null,
        "drilldown_type": "Normal",
        "severity": null,
        "context": null,
        "records_type": null,
        "charttype":"{"id":1,"charttype":"line","description":"Line chart","context":2,"default_config":"{\"chart\":{\"type\":\"line\",\"zoomType\":\"xy\"},\"title\":null,\"legend\":{\"layout\":\"vertical\",\"align\":\"right\",\"verticalAlign\":\"middle\"},\"plotOptions\":{\"series\":{\"dataLabels\":{\"enabled\":true}}}}","createdby":null,"createdon":null,"updatedby":null,"updatedon":null,"is_deleted":false}}}
  

Как я могу преобразовать его в домен java при чтении из базы данных?

Я пытался использовать Gson, но бесполезно! Данные data = new Gson().FromJSON(json, Data.class );

Также я пытался использовать синтаксический анализатор, но бесполезно: (Пожалуйста, помогите мне с этим!

Комментарии:

1. Я пробовал object mapper, но он не сработал!! @Marcin Krysiak

Ответ №1:

Попробуйте использовать Jackson. Это библиотека синтаксического анализа JSON для Java.

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

 Player ronaldo = new ObjectMapper().readValue(jsonString, Player.class);
  

Где Player — это класс, в который вы хотите преобразовать свою jsonString.

Комментарии:

1. Теперь я могу прочитать json с помощью Object Mapper Спасибо за ваше решение, но у меня есть вложенные классы, в которые я хочу сейчас преобразовать этот json. Не могли бы вы помочь с этим, пожалуйста?

2. @Neeharika Вы можете преобразовать этот объект в JSON, используя класс ObjectMapper API Джексона. Существует руководство, как это сделать: geeksforgeeks.org /…