Предположим, у меня есть вложенный файл json, который выглядит так:
[{"toplevel":{"firstleveldata":{"id":12345,"no":123}},"secondleveldata":{"фрукты":{"яблоки":"y"},"veg":{ "маленький":{"зеленый":{"свежий":{"доступный":3}}}}},"данные третьего уровня":{"фрукты":{"изменения":[{"itemid":1,"subno ":1,"зеленый":[],"красный":[{"дополнительный":2,"элемент":5}]}]}}}]
и следующий код R, который может разобрать его на хороший data.frame, кроме последнего (если это можно исправить, это бонус)
как бы выглядела аккуратная альтернатива с использованием С#? Это не то, что я когда-либо кодировал раньше, поэтому не знал, с чего начать.
Конечная цель состоит в том, чтобы экспортировать вложенный JSON в CSV, несколько CSV с первичными/внешними ключами для слияния необходимого.
Код R для контекста.
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
для десериализации/сериализации. - person maccettura   schedule 15.08.2018