第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 Spring Boot 應(yīng)用程序中解析 JSON

在 Spring Boot 應(yīng)用程序中解析 JSON

溫溫醬 2022-10-12 15:33:07
我很難想出一種解析這種 JSON 的方法。在我的應(yīng)用程序中獲得此響應(yīng)后,我需要能夠分別訪問數(shù)據(jù)和消息。{    "data": [        {            "email": "eskaferas@gmail.com",            "firstName": "Seras",            "lastName": "Meras"        },        {            "email": "Soras@gmail.com",            "firstName": "Oras",            "lastName": "Moras"        },        {            "email": "bzbzb@gmail.com",            "firstName": "hello",            "lastName": "bye"        },        {            "email": "lrc@gmail.com",            "firstName": "Seras",            "lastName": "Meras"        }    ],    "message": "Success"}任何人都可以建議一種專門用于 Spring Boot 的方法嗎?或者是 Spring boot 中用來(lái)解析這種 JSON 類型的常用方法。謝謝你。編輯我的主要問題是 Spring Boot 可以使用什么工具,如果我使用 Jackson,我的 POJO 類會(huì)是什么樣子。會(huì)是這樣嗎?:public class testPojo {  Users[] users;  String message;}
查看完整描述

2 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

Pojo 類將如下所示:


public class TestPojo{


    private Users[] data;

    private String message;


    public Users[] getData() {

        return data;

    }


    public void setData(Users[] data) {

        this.data = data;

    }


    public String getMessage() {

        return message;

    }


    public void setMessage(String message) {

        this.message = message;

     }

}


class Users {

    private String email;

    private String firstName;

    private String lastName;

    public String getEmail() {

        return email;

    }

    public void setEmail(String email) {

        this.email = email;

    }

    public String getFirstName() {

        return firstName;

    }

    public void setFirstName(String firstName) {

        this.firstName = firstName;

    }

    public String getLastName() {

        return lastName;

    }

    public void setLastName(String lastName) {

        this.lastName = lastName;

    }

}

在控制器的方法參數(shù)中使用 @RequestBody。


@RestController

class AbcController{


    PostMapping("/api")

    public String create(@RequestBody TestPojo test){

    // you can acess your json in test object

    return "done"

    } 

}


查看完整回答
反對(duì) 回復(fù) 2022-10-12
?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

import com.fasterxml.jackson.annotation.JsonAutoDetect;

import com.fasterxml.jackson.databind.DeserializationFeature;

import com.fasterxml.jackson.databind.MapperFeature;

import com.fasterxml.jackson.databind.ObjectMapper;

import com.fasterxml.jackson.databind.PropertyNamingStrategy;

import com.fasterxml.jackson.databind.SerializationFeature;

import lombok.Getter;

import lombok.Setter;

import org.junit.Test;

import org.springframework.context.annotation.Bean;


import java.io.IOException;

import java.util.List;


public class TestJUnit {


    @Test

    public void exec() {

       String json = "{" +

               "    \"data\": [" +

               "        {" +

               "            \"email\": \"eskaferas@gmail.com\"," +

               "            \"firstName\": \"Seras\"," +

               "            \"lastName\": \"Meras\"" +

               "        }," +

               "        {" +

               "            \"email\": \"Soras@gmail.com\"," +

               "            \"firstName\": \"Oras\"," +

               "            \"lastName\": \"Moras\"" +

               "        }," +

               "        {" +

               "            \"email\": \"bzbzb@gmail.com\"," +

               "            \"firstName\": \"hello\"," +

               "            \"lastName\": \"bye\"" +

               "        }," +

               "        {" +

               "            \"email\": \"lrc@gmail.com\"," +

               "            \"firstName\": \"Seras\"," +

               "            \"lastName\": \"Meras\"" +

               "        }" +

               "    ]," +

               "    \"message\": \"Success\"" +

               "}".replaceAll(" ", "");


        ObjectMapper mapper = new ObjectMapper();


        try {

            JsonParser parser = mapper.readValue(json, JsonParser.class);

        } catch (IOException e) {

            e.printStackTrace();

        }

    }


    @Getter

    @Setter

    private static class JsonParser {

        private List<Data> data;

        private String message;

    }


    @Getter

    @Setter

    private static class Data{

        private String email;

        private String firstName;

        private String lastName;

    }


//    @Configuration

    private static class Configuration{

    @Bean

    public ObjectMapper objectMapper(){

        ObjectMapper mapper = new ObjectMapper();

        mapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);

        mapper.enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES);

        mapper.enable(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY);

        mapper.setVisibility(mapper.getSerializationConfig()

                .getDefaultVisibilityChecker().withFieldVisibility(JsonAutoDetect.Visibility.ANY)

                .withGetterVisibility(JsonAutoDetect.Visibility.NONE)

                .withSetterVisibility(JsonAutoDetect.Visibility.NONE)

                .withCreatorVisibility(JsonAutoDetect.Visibility.NONE));

        mapper.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING);

        mapper.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING);

        return mapper;

    }

    }

}


查看完整回答
反對(duì) 回復(fù) 2022-10-12
  • 2 回答
  • 0 關(guān)注
  • 102 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)