R 如何在json中填充空元素

R 如何在json中填充空元素,r,R,我有一个奇怪的json文件,其中一些行元素缺失。我试图用NA或null填充它们,但我无法瞄准它 下面是一个例子 json示例: require(RJSONIO) json_file <- '[{"name":"Doe, John","group":"Red","age (y)":24,"height (cm)":182,"wieght (kg)":74.8}, {"name":"Doe, Jane","group":"Green","age (y)":30,"heigh

我有一个奇怪的json文件,其中一些行元素缺失。我试图用NA或null填充它们,但我无法瞄准它

下面是一个例子 json示例:

require(RJSONIO)    

json_file <-  '[{"name":"Doe, John","group":"Red","age (y)":24,"height (cm)":182,"wieght (kg)":74.8},
    {"name":"Doe, Jane","group":"Green","age (y)":30,"height (cm)":170,"wieght (kg)":70.1,"score":500},
    {"name":"Smith, Joan","age (y)":41,"height (cm)":169,"wieght (kg)":60,"score":null},
    {"name":"Brown, Sam","group":"Green","age (y)":22,"height (cm)":183,"wieght (kg)":75,"score":865},
    {"name":"Jones, Larry","group":"Green","age (y)":31,"height (cm)":178,"wieght (kg)":83.9,"score":221},
    {"name":"Murray, Seth","group":"Red","age (y)":35,"height (cm)":172,"wieght (kg)":76.2},
    {"name":"Doe, Jane","group":"Yellow","age (y)":22,"height (cm)":164,"wieght (kg)":68,"score":902}]'


json_file <- fromJSON(json_file)

jsonlite将把它变成一个数据帧,并自动为您填充NAs中缺少的值

require(jsonlite)
json_file <- fromJSON(json_file)

          name  group age (y) height (cm) wieght (kg) score
1    Doe, John    Red      24         182        74.8    NA
2    Doe, Jane  Green      30         170        70.1   500
3  Smith, Joan   <NA>      41         169        60.0    NA
4   Brown, Sam  Green      22         183        75.0   865
5 Jones, Larry  Green      31         178        83.9   221
6 Murray, Seth    Red      35         172        76.2    NA
7    Doe, Jane Yellow      22         164        68.0   902


> fromJSON(json_file2, flatten = TRUE)
  id name surname time light.full height.id height.weight.pounds height.weight.kilo
1  1 Lora     Ann   30          4       156                   88                 NA
2  2  Ann    Lora   NA          2       173                   55                 56
> fromJSON(json_file2, flatten = FALSE)
  id name surname time full height.id height.weight.pounds height.weight.kilo
1  1 Lora     Ann   30    4       156                   88                 NA
2  2  Ann    Lora   NA    2       173                   55                 56
require(jsonlite)
来自json的json_文件(json_文件2,flatte=TRUE)
id姓名姓氏time light.full height.id height.weight.pounds height.weight.kilo
1劳拉安30 4 156 88 NA
2 Ann Lora NA 2 173 55 56
>fromJSON(json_file2,flant=FALSE)
id姓名姓氏时间全高。id身高。体重。磅身高。体重。公斤
1劳拉安30 4 156 88 NA
2 Ann Lora NA 2 173 55 56

谢谢您的快速回答。您知道它是否不仅适用于json的第一级吗?我已经用一个数据示例更新了这个问题。您提供的JSON示例无效;)但如果我们修复了它们,我们会发现它确实适用于多个级别。再次感谢您的快速重播。请告诉我我提供的json有什么问题,因为我是新手,我想开始学习?将JSON放在这里,看看发生了什么错误。在本例中,“full”:4应该有}而不是逗号,因为没有继续的值。
require(jsonlite)
json_file <- fromJSON(json_file)

          name  group age (y) height (cm) wieght (kg) score
1    Doe, John    Red      24         182        74.8    NA
2    Doe, Jane  Green      30         170        70.1   500
3  Smith, Joan   <NA>      41         169        60.0    NA
4   Brown, Sam  Green      22         183        75.0   865
5 Jones, Larry  Green      31         178        83.9   221
6 Murray, Seth    Red      35         172        76.2    NA
7    Doe, Jane Yellow      22         164        68.0   902


> fromJSON(json_file2, flatten = TRUE)
  id name surname time light.full height.id height.weight.pounds height.weight.kilo
1  1 Lora     Ann   30          4       156                   88                 NA
2  2  Ann    Lora   NA          2       173                   55                 56
> fromJSON(json_file2, flatten = FALSE)
  id name surname time full height.id height.weight.pounds height.weight.kilo
1  1 Lora     Ann   30    4       156                   88                 NA
2  2  Ann    Lora   NA    2       173                   55                 56