gpt4 book ai didi

r - jsonlite 和 rjson 包之间的根本区别是什么?

转载 作者:行者123 更新时间:2023-12-03 21:21:36 24 4
gpt4 key购买 nike

rjson::fromJSON() 读取文件不正确,而 jsonlite::fromJSON() 读取正常。这是一个示例示例。

文件 test.json 内容:

{"name": "Sanjay",
"unit_price": 130848,
"amount": 11,
"up_to_data_sales": 45725}
jsonlite fromJSON输出:
jsonlite::fromJSON("test.json")
$name
[1] "Sanjay"

$unit_price
[1] 130848

$amount
[1] 11

$up_to_data_sales
[1] 45725

但同样在 rjson 中引发错误包裹。
rjson::fromJSON("test.json") 

Error in rjson::fromJSON("test.json") : parseTrue: expected to see 'true' - likely an unquoted string starting with 't'.
  • 为什么会出现这个错误?
  • 是什么原因rjson包是在 jsonlite 时推出的存在?
  • 最佳答案

    好:

    stringdist::stringdist("rjson", "jsonlite")
    ## [1] 5

    这是一个适度的差异开始。

    但是,您的断言似乎有误:
    library(magrittr)

    rjson::fromJSON('{"name": "Sanjay",
    "unit_price": 130848,
    "amount": 11,
    "up_to_data_sales": 45725}') %>% str()
    ## List of 4
    ## $ name : chr "Sanjay"
    ## $ unit_price : num 130848
    ## $ amount : num 11
    ## $ up_to_data_sales: num 45725

    jsonlite::fromJSON('{"name": "Sanjay",
    "unit_price": 130848,
    "amount": 11,
    "up_to_data_sales": 45725}') %>% str()
    ## List of 4
    ## $ name : chr "Sanjay"
    ## $ unit_price : int 130848
    ## $ amount : int 11
    ## $ up_to_data_sales: int 45725

    除了 jsonlite对数字使用更小型的数据类型,它们都可以很好地解析 JSON。

    因此,您未能在问题中披露您的文件存在问题。

    进一步错误的断言
    -rw-rw-r--  1 bob  staff      2690 Jul 30  2007 rjson_0.1.0.tar.gz
    -rw-rw-r-- 1 bob staff 400196 Dec 3 2013 jsonlite_0.9.0.tar.gz

    更何况:
    -rw-rw-r--  1 bob   staff   873843 Oct  4  2010 RJSONIO_0.3-1.tar.gz
    rjson首先来了。 (目录列表来自坐在我旁边的 CRAN 镜像)。

    您实际上可以阅读 jsonlite 背后的基本原理和动力。这里: https://arxiv.org/abs/1403.2805 (我从 CRAN 页面获取 jsonlite

    关于r - jsonlite 和 rjson 包之间的根本区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53379940/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com