首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R JSON UTF-8解析

R JSON UTF-8解析
EN

Stack Overflow用户
提问于 2015-05-11 16:12:25
回答 1查看 3.6K关注 0票数 1

在试图解析R中俄语字母中的JSON文件时,我遇到了一个问题,该文件如下所示:

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

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

代码语言:javascript
复制
library(jsonlite)
allFiles <- fromJSON(txt="ru_json_example_short.txt")

给了我错误

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

当我用ANSI encodieng保存该文件时,它工作正常,但随后,俄语字母表转换成问号,因此输出无法使用。有人知道如何在R中解析这样的JSON文件吗?

编辑:上面提到的适用于保存在Windows中的UTF-8文件.当我将它保存在PSPad中并解析它时,结果如下所示:

代码语言:javascript
复制
    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
EN

回答 1

Stack Overflow用户

发布于 2015-10-05 22:48:18

尝试以下几点:

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

参考文献:Error parsing JSON file with the jsonlite package

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30172601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档