У меня есть текстовый файл, который содержит строку типа
игроков = {"Месси": {"Подробности": {"Голы": 500}, "Страна": "Аргентина"}, "Неймар": {"Клубы": ["Сантос", " ФК барселона "," Paris Saint German "]," Страна ":" Бразилия "}}
Теперь я использую регулярное выражение для извлечения
{"Месси": {"Подробности": {"Голы": 500}, "Страна": "Аргентина"}, "Неймар": {"Клубы": ["Сантос", "ФК Барселона" "," Paris Stint German "]," Country ":" Бразилия "}}
из текстового файла и передать его в класс дел, который принимает значение как String .
и я делаю Dataframe, используя этот класс case.
В моем случае каждая строка может отличаться по содержанию в JSON String. Поэтому я ищу общее решение для преобразования любой сложной строки Json в значения Map.
При проверке dataframe.printSchema я получаю столбец игроков в виде типа String.
Но мне нужно, чтобы он был как тип карты, который содержит ключ и значение как тип структуры.
Я попробовал метод, указанный в этой ссылке
Как преобразовать строку json в карту скала?
когда я так использовал, я получил ошибку
"org.json4s.package $ MappingException: не знаю, как преобразовать JObject (List ((Details, JObject (List ((Goals, JString (500)))))), (Country, JString (Аргентина) )))) в класс java.lang.String "
и я использовал следующие решения
Преобразование строки JSON в объект JSON в Scala
Но они тоже не сработали для меня.
Это мой класс
case class caseClass (
Players :String = ""
)
Я извлекаю строку json, используя пользовательскую функцию.
Просто мое требование заключается в том, чтобы у меня была сложная строка Json, которая содержит ключи и значения в виде структуры, списка и т. Д.
поэтому я хочу сделать строку соответствующей ей JSON, которая содержит правильную схему относительно ее содержимого.
Пожалуйста, ожидайте ценные решения.