使用R中的fromJSON读取json文件时出错

时间:2016-07-21 01:15:43

标签: json r

在R中使用NaN读取json文件时遇到问题。它显示如下错误消息:

  

fromJSON(file = jsonfile.names [1])出错:意外字符'N'。

文件中项目的空值存在问题。如果我更改了文件中的所有fromJSON{"name": NaN, "unit_price": 130848, "amount": 11, "up_to_data_sales": 45725} 工作正常。

示例数据如下:

attrAmount += (from item in salariesPerJobGrade
               from ritem in attr
               where item.JOB_GRADE_CD == ritem.JOB_GRADE_CD || ritem.JOB_GRADE_CD == "*"
               select item.Value * ritem.RULE_VALUE).Sum();

如果没有手动更改json文件,是否有解决此问题的方法?提前谢谢!

1 个答案:

答案 0 :(得分:3)

从技术上讲,这不是JSON。这是JavaScript。

我们可以在这里使用V8包:

library(V8)

jsraw <- '{"name": NaN, "unit_price": 130848, "amount": 11, "up_to_data_sales": 45725}'

ctx <- v8()
ctx$assign("dat", JS(jsraw))
ctx$get("dat")

## $name
## NULL
## 
## $unit_price
## [1] 130848
## 
## $amount
## [1] 11
## 
## $up_to_data_sales
## [1] 45725

您可以使用RJSONIO::fromJSON(jsraw)获得类似的结果(因此我会询问您使用的是哪个JSON包)。

但是,这是一个玩具示例,所以如果我们收到更多信息,我们可能会提出更通用的解决方案。

另外,手工编辑数据通常是一个非常非常糟糕的主意。