Javascript 将json文件导入到R时出现意外字符错误
我试图将一个本地json文件加载到R中。我尝试了rjson和RJSONIO包,但得到了相同的错误。 例如,对于rjson软件包,我尝试了以下方法:Javascript 将json文件导入到R时出现意外字符错误,javascript,jquery,json,r,Javascript,Jquery,Json,R,我试图将一个本地json文件加载到R中。我尝试了rjson和RJSONIO包,但得到了相同的错误。 例如,对于rjson软件包,我尝试了以下方法: testdata<-fromJSON(file="testfile2.json",method="C",unexpected.escape="skip") 如果有人能说出我做错了什么就好了。谢谢大家! 几乎可以肯定这是一个编码问题(正如timelyportfolio所建议的那样)。意外字符与UTF-16 BOM(字节顺序标记)字符一致 如果你
testdata<-fromJSON(file="testfile2.json",method="C",unexpected.escape="skip")
如果有人能说出我做错了什么就好了。谢谢大家! 几乎可以肯定这是一个编码问题(正如timelyportfolio所建议的那样)。意外字符与UTF-16 BOM(字节顺序标记)字符一致 如果你跑
f <- file("testfile2.json", "rb")
bytes <- readBin(f, integer(), n = 500, size = 1)
close(f)
bytes
例如,问题中的json示例和一个没有有趣字符的文件
另一方面,如果输出中有“-1”或“255”,那么编码是错误的,您必须在允许您指定编码的编辑器中打开并重新保存原始json文件 由于错误与“escape”相关,您是否尝试过将JSON文件设为一行?以防万一这是一个行尾字符问题。你试过jsonlite吗?文件的编码是什么?谢谢你的帮助。白海盗的回答解决了问题!你真棒!成功了。我在一个编辑器中将它改为UTF-8,现在错误消失了。你有没有关于免费资源的建议,我可以在那里学习更多关于编码的知识,以便将来我可以自己解决这个问题?@Fred,我想不出来。但无论如何,您必须查看文件中的实际字节。有几个免费的专用十六进制编辑器,可以帮助那里。有些编辑器也可以显示为十六进制。简单的命令行工具(如Mac或Unix上的
od
)也可以。您还需要对ASCII、UTF8和UTF16之间的差异有一些基本的了解,并且可能想知道BOM标记是什么。这足以解决典型的编码问题。
{
"item1": "I love jquery4u",
"item2": "You love jQuery4u",
"item3": "We love jQuery4u"
}
f <- file("testfile2.json", "rb")
bytes <- readBin(f, integer(), n = 500, size = 1)
close(f)
bytes
[1] 123 10 34 105 116 101 109 49 34 58 32 34 73 32 108 111 118 101
[19] 32 106 113 117 101 114 121 52 117 34 44 10 34 105 116 101 109 50
[37] 34 58 32 34 89 111 117 32 108 111 118 101 32 106 81 117 101 114
[55] 121 52 117 34 44 10 34 105 116 101 109 51 34 58 32 34 87 101
[73] 32 108 111 118 101 32 106 81 117 101 114 121 52 117 34 10 125 10