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

jsonlite解析英国新冠CSV内嵌JSON时遇None触发词法错误问题

错误根因

新版数据中内嵌的JSON使用了Python语法的None表示空值,不符合标准JSON规范(标准JSON空值为null),因此jsonlite解析时触发词法错误。

解决方法

在原有字符串替换逻辑中,新增将None替换为null的规则即可,修正后的代码如下:

library(tidyverse)
library(jsonlite)

# 读取最新国家看板数据
df <- read_csv("<filepath>")

df |> 
  mutate(vaccinationsAgeDemographics = map(vaccinationsAgeDemographics, ~{
    # 先替换单引号为双引号,再替换None为标准JSON的null
    formatted_str <- str_replace_all(., c("'" = "\"", "None" = "null"))
    fromJSON(formatted_str)
  })) |> 
  unnest(cols = c(vaccinationsAgeDemographics))

简化测试代码修正版

fromJSON(df$vaccinationsAgeDemographics[1] |> str_replace_all(c("'" = "\"", "None" = "null")))

如果替换后仍存在解析异常,可检查是否还有其他非标准JSON语法,比如部分场景下可能出现True/False大小写不符合JSON要求的问题(JSON要求小写的true/false),遇到时同步新增替换规则即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:06:04