json - 如果在使用 JOLT 转换时值具有特殊字符,则 JSON 解析会出错(无效的 UTF-8 起始字节 0xb7)
问题描述
目前我正在使用 Json 和 Jolt 使用 Jolt 规范将输入 Json 转换为所需的 Json。
下面是我的输入 { "payload": { "id": "670868", "another_id": "ARUNS·SUB·SHOP·", "category": "AAS.0100·······", "type ": "ABC" } }
以下是 Jolt Spec
[ {“操作”:“班次”,“规格”:{“*”:{“有效载荷”:{“@type”:“[#3].TYPE”,“@category”:“[#3]。类别”,“@another_id”:“[#3].Rajesh”} } } }]
我正在使用下面的代码库和 maven 依赖项来转换 Json
导入 java.util.List;进口com.bazaarvoice.jolt.Chainr;导入 com.bazaarvoice.jolt.JsonUtils;公共类 TransformeJoltFromJson { public static void main(String[] args) 抛出异常 { List specs = JsonUtils.classpathToList("/spec.json"); Chainr chainr = Chainr.fromSpec(specs); 对象 inputJSON = JsonUtils.classpathToObject("/input.json"); 对象转换输出 = chainr.transform(inputJSON); System.out.println(JsonUtils.toPrettyJsonString(transformedOutput)); } } com.bazaarvoice.jolt 颠簸核心 0.1.1 com.bazaarvoice.jolt json-utils 0.1.1 .................... ......................................下面的错误信息来了
Exception in thread "main" java.lang.RuntimeException: Unable to load JSON object from classPath : /input.json at
com.bazaarvoice.jolt.JsonUtilImpl.classpathToObject(JsonUtilImpl.java:203) 在 com.bazaarvoice.jolt.JsonUtils.classpathToObject(JsonUtils.java:157) 在 TransformeJoltFromJson.main(TransformeJoltFromJson.java:11) 引起:com.bazaarvoice .jolt.exception.JsonUnmarshalException:无法将 JSON 解组为对象。在 com.bazaarvoice.jolt.JsonUtilImpl.jsonToObject(JsonUtilImpl.java:107) 在 com.bazaarvoice.jolt.JsonUtilImpl.classpathToObject(JsonUtilImpl.java:200) ... 2 更多原因:com.fasterxml.jackson.core。 JsonParseException:无效的 UTF-8 起始字节 0xb7 在 [Source: (BufferedInputStream); line: 100, column: 23] at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:663) at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1804) at com .fasterxml.jackson.core.json.UTF8StreamJsonParser。
需要帮助,如何解析上面的json。我们可以有一些可以处理特殊章程的解析器吗
解决方案
推荐阅读
- ios - 主线程检查时UILabel类别块属性崩溃
- python-3.x - 难以理解每个变量存储在内存中的位数
- nginx - 如何使用 nginx 将 Next.js 应用程序部署到子路径?
- flutter - Flutter Firebase 注册在模拟器上工作,但不能在真正的 apk 上工作
- ios - SwiftUI WebKit WKWebView:如何支持多 url
- javascript - 如何处理未捕获的错误:对象作为 React 子错误无效
- android - Android - Kotlin - Firebase Google 登录在发布应用后无法正常工作
- python - numpy - 给定二维矩阵的按列和按行求和
- python - 如何将大型数据集拆分为块并执行 fit_transform / fit_resample 和联合结果?
- python - 我在训练我的 GAN 时遇到值错误,例如:“ValueError: Target size (torch.Size([10, 1])) must be the same as input size (torch.Size([10]))”