我试图使用Apache Drill对JSON文件运行一个SELECT查询。我得到不同文件的各种错误。所有错误都是JSON解析错误:
>
错误:DATA_READ错误:分析JSON时出错-无效的UTF-8中间字节0x3F
错误:DATA_READ错误:解析JSON时出错-非法的无引号字符((CTRL-CHAR,代码13)):必须使用反斜杠转义才能包含在字符串值中
对于第一个错误,它是由于某些字符的存在,如“‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?‘?’?
- 对包含无效UTF-8字符的字段使用
convert_to
和convert_from
(无效。不要认为这些函数是用于此目的。)- 将
-dsaffron.default.charset=utf-16le
添加到conf/drill-env.sh
中的DRILL_JAVA_OPTS(不起作用,因为如果查询而不是数据包含无效的UTF-8字符,则使用此选项)- 使用notepad++将文件编码更改为UTF-8(不起作用。希望这能起作用)
- 尝试使用Notepad++将文件编码更改为UTF-8(没有BOM)(Notepad++无法将其转换。保存后,再次打开时为ANSI)
将编码更改为“UTF-8 with BOM”,使用以下任一项:
并且,您将能够使用Apache Drill查询它。
使用iConv转换的文件和使用notepad++转换的文件(基本上,任何转换为“UTF-8 with BOM”的文件)都可以使用Apache Drill进行解析。
要转换:
注意:对于大文件,您可能需要在转换之前将其拆分,因为在我的例子中,Notepad++无法打开2GB文件,iConv也无法转换。
问题内容: 我有一个包含1-n纬度/经度记录的JSON字符串。看起来像这样: 什么是解析此值以获取经纬度值循环的好方法?转义的双引号是否会影响解析? 谢谢亚历克斯 问题答案: 打印…
我需要使用jsonpath解析例子1中的json,类似于下面的例子2。但找不到路径,因为json的类型是字符串。请建议我一些可能的方法来解析json字符串,以动态地修改colourCode的值。 例1: 例2: Jsonpath: 这将返回"iPhone"
问题内容: 我正在提取无效的JSON JSON提要。它完全缺少引号。我尝试了一些操作,例如和,以使该字符串看起来更像有效的JSON,但是在其中包含关联JSON字符串的情况下,通常会弄糟。 这是一个例子: 是否有任何php的JSON解析器可以处理这样的无效JSON? 编辑:我试图在此字符串上使用。它什么也不返回。 问题答案: 所有引号应为双引号而不是单引号。 所有键都应加引号。 整个元素应该是一个对
问题内容: 有没有办法避免返回包含无效(非UTF-8)字符的字符串? 在复杂的系统中调试可能会很麻烦。实际看到无效字符,或者至少将其省略会更合适。就目前而言,它将无声地丢弃整个字符串。 示例(在UTF-8中): 结果是 所需结果: 注意 :我 不 希望使破碎的字符串在json_encode()中起作用。我正在寻找简化诊断编码错误的方法。一个字符串是不是该有所帮助。 问题答案: php确实会尝试产生
问题内容: 我想知道是否有一种方法可以解码类似JSON的字符串。 我得到了字符串: 这不是有效的JSON字符串,因此我无法直接使用python API对其进行解码。Python将仅接受字符串化的JSON字符串,例如: 其中属性被引用为字符串。 问题答案: 使用demjson模块,该模块具有在非严格模式下解码的能力。
问题内容: 我正在尝试解析以下JSONString 这是我的代码: 有人可以帮忙,我的代码不起作用吗?我想解析标题,公司名称,类别等… 问题答案: 您需要从您的jsonstring 创建。 你有里面然后..