Mam zagnieżdżone json, którego struktura nie jest zdefiniowana. Może być inny za każdym razem, gdy uruchamiam, ponieważ czytam ze zdalnego pliku. Muszę przekonwertować ten json na mapę typu Map[String, Any]
. Próbowałem zajrzeć do parserów json4s i jackson, ale wydaje się, że nie rozwiązują tego problemu. Czy ktoś wie, jak mogę to osiągnąć?Jak mogę przekonwertować ciąg json na mapę scala?
Przykład wyrażenie:
{"body":{
"method":"string",
"events":"string",
"clients":"string",
"parameter":"string",
"channel":"string",
"metadata":{
"meta1":"string",
"meta2":"string",
"meta3":"string"
}
},
"timestamp":"string"}
poziom zagnieżdżenia może być dowolne i nie predefiniowany.
Aby pomóc w przypadku użycia:
Mam Map [String, Any], które muszę przechowywać w pliku jako kopię zapasową. Więc konwertuję go na ciąg json i zapisuję go w pliku. Teraz za każdym razem, gdy otrzymuję nowe dane, muszę pobrać json z pliku, przekonwertować go na mapę i wykonać pewne obliczenia. Nie mogę zapisać mapy w pamięci, ponieważ straciłbym ją, gdyby moja praca się nie udała.
Potrzebuję rozwiązania, które konwertuje ciąg json z powrotem na oryginalną mapę, którą miałem przed przekonwertowaniem.
dlaczego nie używasz JSON.parseRaw? – turutosiya
Czy możesz wysłać przykład JSON i innych pomocnych kodów? lub informacje? –
Jak można serializować "Any"? –