在flink中使用来自Kafka的JSON文件时,出现此错误:
由以下原因引起:org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.io.JsonEOFException:意外的输入结束:预期的对象关闭标记(起始标记位于[来源:(byte [ ])“ [{”;行:1,列:2]) 在[来源:(byte [])“ [[”;行:1,列:5]
这是我的JSON文件:
[{
"locationID": "ASK",
"temp": 35
},
{
"locationID": "BC",
"temp": 45
},
{
"locationID":"CHD",
"temp": 55
},
{
"locationID": "RAJ",
"temp": 65
},
{
"locationID": "EGY",
"temp": 55
}]
这是代码:
答案 0 :(得分:0)
据我所知,您始终需要输入单行json字符串。因此,在您的示例中使用以下代码:
[{"locationID": "ASK", "temp": 35}, {"locationID": "BC", "temp": 45}, {"locationID": "CHD", "temp": 55}, {"locationID": "RAJ", "temp": 65}, {"locationID": "EGY", "temp": 55}]
对于更通用的方法,您可以使用类似以下内容的格式来重新格式化多行json字符串:
.selectExpr("REPLACE(CAST(value as string), '\n', '') as json")