假设我有一个嵌套的json文件,看起来像这样:
[{"toplevel":{"firstleveldata":{"id":12345,"no":123}},"secondleveldata":{"fruit":{"apples":"y"},"veg":{"small":{"gree":{"fresh":{"available":3}}}}},"thirdleveldata":{"fruit":{"changes":[{"itemid":1,"subno":1,"green":[],"red":[{"extraid":2,"element":5}]}]}}}]
下面是R代码,可以将其解析为一个漂亮的数据框(除了最后一个)。如果能够修复最后一个问题,那将是一个额外的奖励。
那么使用C#的巧妙替代会是什么样子呢?这不是我以前编过的东西,所以不知道从哪里开始。
最终目标是将嵌套的JSON导出为CSV,多个带有主键/外键的CSV文件可在需要时合并。
(保留HTML标记)
下面是R代码,可以将其解析为一个漂亮的数据框(除了最后一个)。如果能够修复最后一个问题,那将是一个额外的奖励。
那么使用C#的巧妙替代会是什么样子呢?这不是我以前编过的东西,所以不知道从哪里开始。
最终目标是将嵌套的JSON导出为CSV,多个带有主键/外键的CSV文件可在需要时合并。
(保留HTML标记)
library(jsonlite)
library(tidyverse)
fun <- function(x)
{list(
#keys
id = pluck(x,"toplevel","firstleveldata","id", .default = NA),
no = pluck(x,"toplevel","firstleveldata","no", .default = NA),
apples = pluck(x,"secondleveldata","fruit","apples", .default = NA),
itemid = pluck(x,"toplevel","thirdleveldata","fruit","changes","itemid", .default = NA) #doesn't work)}
out<-map_df(list.files("my_json_file",full.names=TRUE),~map_df(fromJSON(txt=., simplifyVector=FALSE), fun))
out
谢谢
Json.NET
进行反序列化/序列化。 - maccettura