r - 如何复制问题的嵌套 JSON 列表?
问题描述
我正在寻找我使用 .json 提取的 JSON 列表的帮助jsonlite
。该列表中嵌入了其他列表,以及df
嵌入的。我怎样才能最轻松地将内容复制到 SO 以寻求帮助?此外,一些数据是敏感的,所以我希望有一个解决方案可以随机化这些值,或者让我轻松地操纵它们。
解决方案
如您所知,您可以使用解析 JSON 数据fromJSON()
要访问解析后的 JSON 数据中的项目,您可以使用与访问其他内容相同的方法,即 R 的访问器函数$
,不要忘记它可以让您深入多层,例如your_data$details$result$locationHierarchy$city
这里有一些提示可以帮助您轻松地将数据复制为文本(例如复制到 SO 问题)
让我们拿一些数据
some_data <- iris[1, ]
some_data
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
您可以使用将任何 R 对象(例如数据框、向量、元素等)转换为 JSON 格式toJSON()
some_data_as_JSON <- toJSON(some_data)
some_data_as_JSON
# [{"Sepal.Length":5.1,"Sepal.Width":3.5,"Petal.Length":1.4,"Petal.Width":0.2,"Species":"setosa"}]
在上面的示例中,如果您尝试复制/粘贴返回到 R 控制台的 JSON 数据,则会出错,因为特殊字符未正确转义。但是,有一个简单的方法可以解决这个问题dput()
dput(some_data_as_JSON)
# structure("[{\"Sepal.Length\":5.1,\"Sepal.Width\":3.5,\"Petal.Length\":1.4,\"Petal.Width\":0.2,\"Species\":\"setosa\"}]", class = "json")
现在您可以复制/粘贴该输出并将其分配为 R 对象!(所以这对于一个 SO 问题来说是完美的)
在对数据进行匿名处理时,您可以尝试使用随机函数,例如runif()
为数字数据类型生成随机数据。对于字符,您可以随机尝试gsub()
一个字符(这不会是强匿名化,但根据您要执行的操作可能没问题)。或者您可以使用生成随机字符串
library(stringi)
stri_rand_strings(3, 5, pattern = "[A-Za-z0-9]")
最后一个提示:SO 倾向于更喜欢小的可重现示例(而不是大示例),因此最好的办法是将一小部分数据复制到 SO,或者甚至制作一个全新的对象(一个小的就够了)
推荐阅读
- python - 无法在 GCP 中以编程方式限制计费:“无法禁用计费,可能需要检查权限”
- office365 - 在合规中心的哪里可以找到组角色分类列表查看器和数据分类内容查看器?
- javascript - 检查小数位的值
- sharepoint-online - 使用 REST API 查询 Sharepoint Online 并在正文中传递查询 (POST)
- amazon-web-services - .Net Core Web API 函数不返回数据,部署在 EC2 中
- python - 如何将列表中的字符串值更改为 Python 中的浮点数
- python - 提交 2captcha 令牌后页面重新加载
- asp.net - 当我将 ASP.NET Core 发布到 Vps 服务器时,它会在网页中列出项目文件
- linux - xsetwacom 找不到输出
- r - 如何在矩阵中重复相同的函数,改变函数的参数