com.google.gson.stream.MalformedJsonException: неопределенный объект при чтении json данных из Spark - PullRequest
0 голосов
/ 26 марта 2020

У меня есть данные json, как показано ниже

{id=1243027559861780482, text='RT @KKMPutrajaya: People who smoke tobacco products', lang='en', user={id=545091753, name='Fiqtion', screenName='SyafiqAzrin', location='null', followersCount=415}, retweetCount=0, favoriteCount=0}

{id=1243027565750583297, text='It's good to be back', lang='in', user={id=1010258604, name='?', screenName='shnadzirah', location='Puchong', followersCount=185}, retweetCount=0, favoriteCount=0}

Я извлекаю вышеуказанные данные из твиттера с помощью kakka и затем отправляю данные в функцию spark scala для обработки текста json и моя функция spark scala выглядит следующим образом:

 def processConsumerRec(consumerRecord : ConsumerRecord[String,String] ) : String = {


       val key = consumerRecord.key()
       val value = consumerRecord.value()
        val jsonreader = new JsonReader(new StringReader(new_val))
       jsonreader.setLenient(true)
       val tweet : Tweet  = new Gson().fromJson(jsonreader, classOf[Tweet])
       println (tweet.getLang)
       val processedData = tweet.getLang

       return processedData 
     }

Когда я запускаю программу, она дает мне следующее исключение:

com.google.gson.stream.MalformedJsonException: Unterminated object 

Я обнаружил проблему в во вторых json данных есть инвертированная запятая (') в текстовом атрибуте, и это создает проблему, нет проблем при использовании первых json данных, поскольку нет инвертированной запятой до конца какого-либо конкретного атрибута.

Посоветуйте, пожалуйста, как мне преодолеть эту ситуацию. Я прошел через несколько решений stackoverflow и перепробовал многие из них, но это не решило проблему

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...