Rumah  >  Artikel  >  Bagaimana untuk membongkar objek json bersarang ke dalam entiti

Bagaimana untuk membongkar objek json bersarang ke dalam entiti

WBOY
WBOYke hadapan
2024-02-06 09:48:09562semak imbas
Kandungan soalan

Saya sedang memanggil api lain dan mendapat respons json berikut

{
    "metadata": {},
    "data": {
        "productid": 102001,
        "productname": "p101",

        "branddetail": {
            "brandid": 3840,
            "brandname": "abc",
            "brandcode": "x01"
        }
    }
}

Bagaimana untuk membongkar butiran jenama dan membacanya sebagai entiti kelas seperti di bawah?

HttpGet httpGet = buildHttpGet("/externalApiURL");
    HttpResponse response = getHttpClient().execute(httpGet);
    HttpEntity entity = response.getEntity();

    if (entity != null && response.getStatusLine().getStatusCode() == HttpStatus.OK.value()) {
        ObjectMapper objectMapper = new ObjectMapper();
        BrandDetail brandDetail = objectMapper.readValue(entity.getContent(), BrandDetail.class);
    }

Terima kasih terlebih dahulu


Jawapan yang betul


Gunakan convertvalue(), ini adalah ujian.

@data
public class branddetail {
    private int brandid;
    private string brandname;
    private string brandcode;
}
@Test
public void demo() throws Exception {
    ObjectMapper mapper = new ObjectMapper();
    var data = """
            {
                "metadata": {},
                "data": {
                    "productId": 102001,
                    "productName": "P101",
                    "brandDetail": {
                        "brandId": 3840,
                        "brandName": "ABC",
                        "brandCode": "X01"
                    }
                }
            }
            """;
    JsonNode node = mapper.readTree(data);
    JsonNode brandNode = node.get("data").get("brandDetail");
    BrandDetail brandDetail = mapper.convertValue(brandNode, BrandDetail.class);
    // BrandDetail(brandId=3840, brandName=ABC, brandCode=X01)
    System.out.println(brandDetail);
}

Atas ialah kandungan terperinci Bagaimana untuk membongkar objek json bersarang ke dalam entiti. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam