繁体   English   中英

R JSON UTF-8 解析

[英]R JSON UTF-8 parsing

尝试在 R 中解析俄语字母表中的 JSON 文件时遇到问题。该文件如下所示:

[{"text": "Валера!", "type": "status"}, {"text": "когда выйдет", "type": "status"}, {"text": "КАК ДЕЛА?!)", "type": "status"}]

它以UTF-8编码保存。 我尝试使用库 rjson、RJSONIO 和 jsonlite 来解析它,但它不起作用:

library(jsonlite)
allFiles <- fromJSON(txt="ru_json_example_short.txt")

给我错误

Error in feed_push_parser(buf) : 
  lexical error: invalid char in json text.
                                       [{"text": "Валера!", "
                     (right here) ------^

当我将文件保存在 ANSI 编码中时,它可以正常工作,但是,俄语字母表转换为问号,因此输出无法使用。 有谁知道如何在 R 中解析这样的 JSON 文件?

编辑:上述适用于保存在 Windows 记事本中的 UTF-8 文件。 当我将它保存在 PSPad 中并解析它时,结果如下所示:

    text   type
1                                         <U+0412><U+0430><U+043B><U+0435><U+0440><U+0430>! status
2 <U+043A><U+043E><U+0433><U+0434><U+0430> <U+0432><U+044B><U+0439><U+0434><U+0435><U+0442> status
3                              <U+041A><U+0410><U+041A> <U+0414><U+0415><U+041B><U+0410>?!) status

请尝试以下操作:

dat <- fromJSON(sprintf("[%s]",
                paste(readLines("./ru_json_example_short.txt"),
                collapse=",")))
dat
[[1]]
       text   type
1      Валера! status
2 когда выйдет status
3  КАК ДЕЛА?!) status

参考: 使用 jsonlite 包解析 JSON 文件时出错

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM