将 json 对象附加到 json 数组
Append json object to json array
我正在尝试使用 jsonlite 将 json 对象附加到现有的 json 数组。我要添加的 json 对象是使用 toJSON
.
创建的
例如:
library(jsonlite)
order1 <- list(a = 1, b = 2, c = 3)
order2 <- list(a = 4, b = 5, c = 6)
# step1 represents my already existing json array
step1 <- toJSON(list(order1, order2), auto_unbox = TRUE)
# [{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6}]
# order3 is a list that I would like to append to the step1array
order3 <- list(a = 7, b = 8, c = 9)
我试过:
step2 <- toJSON(list(fromJSON(step1), order3), auto_unbox = TRUE)
但不幸的是,这吐出来了:
[[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6}],{"a":7,"b":8,"c":9}]
而我的预期结果是:
[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]
我错过了什么?
编辑:
我确实用rbind_pages
解决了这个问题,但似乎效率有点低。如果有更好的解决方案,我洗耳恭听:)
toJSON(rbind_pages(list(fromJSON(step1), data.frame(order3))))
# [{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]
做:
toJSON(rbind(fromJSON(step1), order3))
结果:
[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]
fromJSON
returns 一个数据框,那么你应该用 rbind
添加 order3
作为一个新行。如果您随后将此数据框转换为 JSON 它 returns 您正在寻找的内容。
您不必将 order3
从列表转换为数据框即可将其绑定为新行。在将数据框转换为 JSON.
之前无需将其转换为列表
我正在尝试使用 jsonlite 将 json 对象附加到现有的 json 数组。我要添加的 json 对象是使用 toJSON
.
例如:
library(jsonlite)
order1 <- list(a = 1, b = 2, c = 3)
order2 <- list(a = 4, b = 5, c = 6)
# step1 represents my already existing json array
step1 <- toJSON(list(order1, order2), auto_unbox = TRUE)
# [{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6}]
# order3 is a list that I would like to append to the step1array
order3 <- list(a = 7, b = 8, c = 9)
我试过:
step2 <- toJSON(list(fromJSON(step1), order3), auto_unbox = TRUE)
但不幸的是,这吐出来了:
[[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6}],{"a":7,"b":8,"c":9}]
而我的预期结果是:
[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]
我错过了什么?
编辑:
我确实用rbind_pages
解决了这个问题,但似乎效率有点低。如果有更好的解决方案,我洗耳恭听:)
toJSON(rbind_pages(list(fromJSON(step1), data.frame(order3))))
# [{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]
做:
toJSON(rbind(fromJSON(step1), order3))
结果:
[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":6},{"a":7,"b":8,"c":9}]
fromJSON
returns 一个数据框,那么你应该用 rbind
添加 order3
作为一个新行。如果您随后将此数据框转换为 JSON 它 returns 您正在寻找的内容。
您不必将 order3
从列表转换为数据框即可将其绑定为新行。在将数据框转换为 JSON.