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
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!