json - 我在 JSON 文件中遇到意外错误
问题描述
在 flink 中使用来自 Kafka 的 JSON 文件时,出现此错误:
引起:org.apache.flink.shaded.jackson2.com.fasterxml.jackson.core.io.JsonEOFException:意外的输入结束:对象的预期关闭标记(在[来源:(字节[])开始标记“ [{"; line: 1, column: 2]) at [Source: (byte[])"[{"; 行:1,列:5]
这是我的 JSON 文件:
[{
"locationID": "ASK",
"temp": 35
},
{
"locationID": "BC",
"temp": 45
},
{
"locationID":"CHD",
"temp": 55
},
{
"locationID": "RAJ",
"temp": 65
},
{
"locationID": "EGY",
"temp": 55
}]
这是代码:
解决方案
据我所知,您总是需要输入单行 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")
推荐阅读
- android - 如何使用已在 when 表达式中初始化的变量?
- bash - 将 bash 命令的输出重定向到脚本
- ag-grid - npm install 后无法引用 html2pdf
- sql - 如何在 Oracle 数据库中获取更多列值以及不同的列?
- java - 使用 @JsonPropperty 提取具有相同前缀的键的值列表
- java - 使用休眠将一个对象保存在多个其他对象中
- firefox - 在 Firefox 中调试美化的 Js - Quantum
- postgresql - Postgresql 转轴
- vue.js - 如何以编程方式向 Vue 组件添加道具?
- vue.js - 如何删除vue表中的整列?