如何复制一个问题的嵌套JSON列表?

时间:2019-02-07 02:27:11

标签: r nested-lists purrr

我正在寻找有关使用jsonlite提取的JSON列表的帮助。该列表中嵌入了其他列表,同时还嵌入了df。我如何最轻松地将内容复制到SO以发布帮助?另外,某些数据是敏感的,因此我希望有一个解决方案可以随机化值,或者让我轻松地操作它们。

1 个答案:

答案 0 :(得分:-1)

如您所知,您可以使用 public function setWaterMark(Request $request_body){ try { $watermark = Input::file('watermark'); $input = Input::file('input'); ffmpeg = "C:\\ffmpeg\\bin\\ffmpeg"; $cmd = $ffmpeg . " -i " . $input . " -i " . $watermark . " -filter_complex 'overlay' " . $output_file; exec($cmd, $output); return $output_file; }

解析JSON数据

要访问已解析的JSON数据中的项目,请使用与访问其他内容相同的方法,即R的访问器函数fromJSON(),不要忘记它可以带您深入多层,例如$

以下提示可帮助您轻松地将数据复制为文本(例如,复制到SO问题)

让我们收集一些数据

your_data$details$result$locationHierarchy$city

您可以使用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()

在上面的示例中,如果尝试复制/粘贴返回到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"}]

可以轻松解决此问题
dput()

现在,您可以复制/粘贴该输出并将其分配为R对象! (因此,这非常适合一个SO问题)

对数据进行阳极处理时,您可以尝试使用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") 之类的随机化函数为数字数据类型生成随机数据。对于字符,您可以尝试将runif()一个字符随机地用于另一个字符(这不是强力的匿名化,但是可以,取决于您要执行的操作)。或者您可以使用

生成随机字符串
gsub()

最后一条提示:SO倾向于偏爱小型可重现的示例(与大型示例相反),所以最好的做法是将一小部分数据复制到SO上,甚至制作一个全新的对象(一个小的对象就足够了)