我想将我的 json 数据转换为 R 中的数据框。这是我到目前为止所做的:
library("rjson")
result <- fromJSON(file ="mypath/data.json")
json_data_frame <- as.data.frame(result)
但是,它会出现这样的错误:
Error in data.frame(company_id = "12345678", country_name = "China", : arguments imply differing number of rows: 1, 2, 0
我还尝试了以下代码:
library("rjson")
result <- fromJSON(file ="mypath/data.json")
final_data <- do.call(rbind, result)
这个错误出现了:
Warning message: In (function (..., deparse.level = 1) : number of columns of result is not a multiple of vector length (arg 3)
我不知道这里发生了什么以及如何解决它。如果我能在这方面得到一些帮助,我将不胜感激。
这是我的一些json数据:
{"business_id": "1234567", "Country_name": "China", "hours": {"Monday": {"close": "02:00", "open": "11:00"}, "Tuesday ": {"close": "02:00", "open": "11:00"}, "Friday": {"close": "02:00", "open": "11:00"}, “周三”:{“收盘”:“02:00”,“开盘”:“11:00”},“周四”:{“收盘”:“02:00”,“开盘”:“11:00” },“星期日”:{“关闭”:“02:00”,“开放”:“12:00”},“星期六”:{“关闭”:“02:00”,“开放”:“12: 00"}}, "open": true, "categories": ["Bars", "Nightlife", "Restaurants"], "city": "Beijing", "review_count": 5, "name": "Chen's Bar ", "neighborhoods": ["West End"], "attributes": {"Take-out": true, "Wi-Fi": "free", "Good For": {"dessert": false, "latenight “:假,“午餐”:假,“晚餐”:假,“早餐”:假,“早午餐”:假},“适合跳舞”:假,“噪音级别”:“大声”,“需要预订” :假,“交付”:假,“氛围”:{“浪漫”:假,“亲密”:假,“优雅”:假,“时髦”:假,“潜水”:假,“旅游”:假, “时尚”:假,“高档”:假,“休闲”:假}, “欢乐时光”:真,“ parking ”:{“车库”:假,“街道”:假,“已验证”:假,“很多”:假,“代客”:假},“有电视”:真, “户外座位”:假,“着装”:“休闲”,“酒精”:“full_bar”,“服务员服务”:真,“接受信用卡”:真,“适合 child ”:假,“适合团体” ": true, "Caters": true, "Price Range": 1}, "type": "business"}
尝试使用 jsonlite 库。它对我有用
fromJSON(temp) %>% as.data.frame
以下是输出
如果你想要列表。
fromJSON(temp)
我是一名优秀的程序员,十分优秀!