Wyciąganie danych z zagnieżdżonego jsona java

Wyciąganie danych z zagnieżdżonego jsona java
B2
  • Rejestracja:około 4 lata
  • Ostatnio:7 miesięcy
  • Postów:22
0

Hey, chiałbym wyciągnąć product_id który znajduje się odpowiednio products->13771584->links->shop_3003183. Zwracam się z pytaniem, jak wyciągnąć tak zagnieżdżoną wartość z jsona?

Kopiuj
{
  "status": "SUCCESS",
  "storage_id": null,
  "products": {
    "13771584": {
      "is_bundle": false,
        }
      },
      "stock": {
        "bl_629": 
      },
      "prices": {
        "475": 59
      },
      "locations": {
        "": ""
      },
      "links": {
        "shop_3003183": {
          "product_id": "4",
          "variant_id": "0"
        }
      }
    }
  }
}
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
3

Osobiście zmapowalbym to na dto w całości i wyciągnął później co tam chcesz. Od biedy możesz zmapowac na Map<String, Object> i te objecty o to będą kolejne mapy


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Silesia/Marki
  • Postów:5505
1

Jak nie lubisz mapować to wystarczy JsonPath


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
B2
  • Rejestracja:około 4 lata
  • Ostatnio:7 miesięcy
  • Postów:22
0

Okej wszystko ok, ale mam jeszcze pytanie, w obu przypadkach mam problem z parsowaniem mojej odpowiedzi. Otóż ten json przychodzi mi w takiej formie

Kopiuj
Response response = client.newCall(request).execute();

I w obu przypadkach jak wykonuje na nim response.toString() to ma problem z parsowaniem tokena

edytowany 1x, ostatnio: betowen27
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
2

No świetnie ale to jest co za libka? Apache HTTP Client? Mamy zgadywać? Szklana kula mówi ze Response ma metodę body (albo coś podobnego) która zwróci ci body requestu. toString prawie nigdy nie jest metodą którą chcesz zawołać, bo jej zadaniem jest printowanie obiektów do logów.


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom
B2
  • Rejestracja:około 4 lata
  • Ostatnio:7 miesięcy
  • Postów:22
0

Przepraszam za niedopaczenie, OkHttpClient

Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
edytowany 1x, ostatnio: Shalom

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.