json - 如何在 Scala 中使用 Gson 库解析单引号特殊字符
问题描述
如果值包含单引号和其他字符,例如 '()= 等,我将无法解析 json 文件 您好我有以下 Json 文件:
{
"config": {
"inputDFName": "testInput",
"conditions": "site_type = 'micro'"
}
}
解析器类喜欢
case class FilterConfig(inputDFName: String,conditions: String)
我正在使用以下函数解析 json
def readDataFilter(conf:String): FilterConfig ={
val gson = new Gson()
gson.fromJson(conf,classOf[FilterConfig])
}
但返回错误,如:com.google.gson.JsonSyntaxException:com.google.gson.stream.MalformedJsonException
但是如果我删除单引号并等于签署它的工作正常。请在这里帮忙。
解决方案
我在这里看到两个问题。
- JSON 中的 inputDFName 与 FilterConfig 类中的 testDFName 不匹配。
- 您的 JSON 结构与 FilterConfig 的不同。
我尝试运行具有上述更改的代码并且工作正常。
case class FilterConfig(inputDFName: String,conditions: String)
import com.google.gson.Gson;
def readDataFiltr(conf:String): FilterConfig ={
val gson = new Gson()
gson.fromJson(conf,classOf[FilterConfig])
}
val x = readDataFiltr("{\"inputDFName\": \"testInput\", \"conditions\": \"site_type = 'micro'\"}")
println(x.inputDFName)
println(x.conditions)
如果不清楚,请告诉我。
谢谢,维维克
推荐阅读
- javascript - 从组件外部调用 switch 语句
- python - 从原始图像中查找裁剪图像 (JPG) 的坐标
- windows - Chrome 扩展程序在 Ubuntu 上无法运行,尽管它可以在 Windows 上完美运行
- botframework - 对等证书无法使用给定的 CA 证书进行身份验证
- system-verilog - 带有实例名称列表的 SystemVerilog 接口数据类型
- javascript - 使用 ReactDOM 提交 React 表单:不重新渲染组件
- php - PHP 通过多个键过滤数组数组并使用匹配的键对数组进行分组
- inner-join - 表达内连接的形式语法
- raku - perl6 模块中的运输文件夹
- javascript - 如何添加拖动到边缘溢出 div 滚动行为