Otrzymałem odpowiedź JSON z retrofitu, że nie jestem pewien, jak sobie z tym poradzić, czy możesz mi z tym pomóc? Chcę go gdzieś przechowywać, ale myślę, że lista nie byłaby do tego dobra, więc może HashMap? Wygląda na to, że odpowiedź
{
"object" :
{
"key1" : "value1",
"key2" : "value2"
}
}
I tak dalej .. Czy możesz mi podpowiedzieć, jak mam to przechowywać? Naprawdę doceniłbym każdą pomoc.
2 odpowiedzi
Zakładając, że chcesz przeanalizować ciąg Json do formatu strukturalnego. Możesz użyć Jacksona, aby zmapować go na hashmap.
Możesz to zrobić w następujący sposób
import com.fasterxml.jackson.databind.ObjectMapper;
public void foo() {
String jsonString = " { \"object\" : { \"key1\" : \"value1\", \"key2\" : \"value2\" } } ";
ObjectMapper mapper = new ObjectMapper();
try {
// convert JSON string to Map
Map<String, String> map = mapper.readValue(jsonString, Map.class);
} catch (IOException e) {
e.printStackTrace();
}
}
}
Możesz uzyskać Jensona z następujących zależności, jeśli używasz mavena
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
Możesz przeczytać więcej na stronie portalu głównego Jacksona
HashMap to najlepszy sposób na jej przechowywanie, ponieważ daje dostęp do specjalnych metod (takich jak containsKey
, containsValue
i compute
), których możesz użyć do interpretacji i manipulowania danymi.
Aby uniknąć konieczności pisania standardowego kodu, zalecamy skorzystanie z biblioteki do obsługi parsowania, takiej jak Jackson. Pomoże również, jeśli kiedykolwiek będziesz musiał napisać własne odpowiedzi JSON.
Podobne pytania
Nowe pytania
java
Java to język programowania wysokiego poziomu. Użyj tego tagu, jeśli masz problemy z używaniem lub zrozumieniem samego języka. Ten tag jest rzadko używany samodzielnie i jest najczęściej używany w połączeniu z [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] i [maven].