You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R中读取单键多值映射JSON文件时解析失败求助

问题描述

我有一个名为data.json的文件,内容如下:

{ 
   "ID":["1","2","3","4","5","6","7","8" ],
   "Name":["Rick","Dan","Michelle","Ryan","Gary","Nina","Simon","Guru" ],
   "Salary":["623.3","515.2","611","729","843.25","578","632.8","722.5" ],
   
   "StartDate":[ "1/1/2012","9/23/2013","11/15/2014","5/11/2014","3/27/2015","5/21/2013",
      "7/30/2013","6/17/2014"],
   "Dept":[ "IT","Operations","IT","HR","Finance","IT","Operations","Finance"]
}

我在RStudio中已安装rjson包,使用如下代码:

library("rjson")
myData <- fromJSON(file="data.json")
print(myData)

预期fromJSON()会将JSON文件内容读取为R对象myData,但执行时出现错误:

Error in fromJSON(file = "data.json") : 
not all data was parsed (0 chars were parsed out of a total of 3 chars)

我已验证该JSON文件结构有效,参考相关问题解决方案后仍未解决,恳请指出问题所在。

解决办法

1. 检查文件路径是否正确

错误提示里的"3 chars"说明R读取到的内容极短,大概率是文件路径错误:

  • 运行getwd()查看当前工作目录,确认data.json存放在该目录下;
  • 或者直接使用文件的绝对路径,示例:
    myData <- fromJSON(file="C:/Your/Full/Path/to/data.json")
    

2. 切换到更稳定的JSON处理包

rjson对部分JSON格式的解析兼容性有限,推荐使用主流的jsonlite包:

  • 安装并加载包:
    install.packages("jsonlite")
    library(jsonlite)
    
  • 读取JSON文件:
    myData <- fromJSON("data.json")
    print(myData)
    

jsonlite对标准JSON的支持更完善,能避免很多解析异常。

3. 确认文件编码为UTF-8

如果JSON文件编码非UTF-8,可能导致解析失败:

  • 用文本编辑器打开data.json,将编码转换为UTF-8后重新尝试读取。

内容的提问来源于stack exchange,提问作者Mahesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:02:53