我在寻找,我使用jsonlite
提取的JSON名单上的帮助。该列表中嵌入了额外的列表,还嵌入了df
一起。我如何可以很容易地复制到SO张贴求助的内容?此外,一些数据是敏感的,所以我希望有一个可以随机值,或者让我轻松地操纵它们的解决方案。
如你所知,您可以使用fromJSON()
解析JSON数据
为了解析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
可以使用任何toJSON()
对象 - [R(例如,数据帧,载体,元件等)转换成JSON格式
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问题)
当anonomysing数据,你可以尝试使用随机函数像runif()
产生的数字数据类型随机数据。对于字符,你可以尝试另一种随机gsub()
一个字符(这不会是强大的匿名化,但也取决于你想做什么是好的)。或者你也可以使用随机生成的字符串
library(stringi)
stri_rand_strings(3, 5, pattern = "[A-Za-z0-9]")
最后一个建议:所以更倾向于使用小的可再现的例子(相对于大的),所以也许这样做将是最好的事情把你的数据的一小部分就以SO复制,或者甚至使一个全新的对象(小一应该足够)