我想播放现在以JSON格式保存的数据。但是我对R非常陌生,对如何处理数据一无所知。您可以在下面看到我设法实现的目标。但首先,我的代码:
library(rjson)
json_file <- "C:\\Users\\Saonkfas\\Desktop\\WOWPAPI\\wowpfinaljson.json"
json_data <- fromJSON(paste(readLines(json_file), collapse=""))
我能够得到数据:
for (x in json_data){print (x)}
尽管输出看起来很原始:
[[1]]
[[1]]$wins
[1] "118"
[[1]]$losses
[1] "40"
# And so on
请注意,JSON有点嵌套。我可以使用Python创建表,但是R似乎要复杂得多。
编辑:
我的JSON:
{
"play1": [
{
"wins": "118",
"losses": "40",
"max_killed": "7",
"battles": "158",
"plane_id": "4401",
"max_ground_object_destroyed": "3"
},
{
"wins": "100",
"losses": "58",
"max_killed": "7",
"battles": "158",
"plane_id": "2401",
"max_ground_object_destroyed": "3"
},
{
"wins": "120",
"losses": "38",
"max_killed": "7",
"battles": "158",
"plane_id": "2403",
"max_ground_object_destroyed": "3"
}
],
"play2": [
{
"wins": "12",
"losses": "450",
"max_killed": "7",
"battles": "158",
"plane_id": "4401",
"max_ground_object_destroyed": "3"
},
{
"wins": "150",
"losses": "8",
"max_killed": "7",
"battles": "158",
"plane_id": "2401",
"max_ground_object_destroyed": "3"
},
{
"wins": "120",
"losses": "328",
"max_killed": "7",
"battles": "158",
"plane_id": "2403",
"max_ground_object_destroyed": "3"
}
],
fromJSON
返回一个列表,您可以使用*apply
函数来遍历每个元素。将其转换为“表”非常简单(一旦您知道该怎么做!)(数据框是正确的R术语)。
library(rjson)
# You can pass directly the filename
my.JSON <- fromJSON(file="test.json")
df <- lapply(my.JSON, function(play) # Loop through each "play"
{
# Convert each group to a data frame.
# This assumes you have 6 elements each time
data.frame(matrix(unlist(play), ncol=6, byrow=T))
})
# Now you have a list of data frames, connect them together in
# one single dataframe
df <- do.call(rbind, df)
# Make column names nicer, remove row names
colnames(df) <- names(my.JSON[[1]][[1]])
rownames(df) <- NULL
df
wins losses max_killed battles plane_id max_ground_object_destroyed
1 118 40 7 158 4401 3
2 100 58 7 158 2401 3
3 120 38 7 158 2403 3
4 12 450 7 158 4401 3
5 150 8 7 158 2401 3
6 120 328 7 158 2403 3
问题内容: 如您所见,此示例代码将打印出JSON 的 KEY ,然后打印JSONS的 VALUES 。 如果json是这样的,它将打印 配置文件,约翰 : 这很酷。很好,因为我可以使用这些变量。但是,如果JSON是这样的: 在这种情况下,整个值将是数组。基本上,我只想获取该数组(在本例中为“值”)…并将其转换为JAVA可以使用的实际数组。我怎样才能做到这一点?谢谢。 问题答案: 例如: 您将必须执
问题内容: 我有一个要转换为json格式的数据框: 我的数据帧称为res1: 当我做: 我得到这个: 我需要这个json输出像这样,有什么想法吗? 问题答案: 怎么样 通过使用,我们实际上将大的data.frame分解为每一行的单独的data.frame。通过从结果列表中删除名称,该函数将结果包装在数组中,而不是命名对象中。
问题内容: 如何将JSON字符串简单地转换为C#,最好不使用第三方解析器? 问题答案: 我不确定为什么每个人仍然推荐JSON.NET来反序列化JSON。我写了一篇有关如何将JSON反序列化为C#的博客文章。 简而言之,它是这样的: 确保添加对System.Web.Extensions.dll的引用。 注意: 我通常反序列化为,所以我假设这会起作用。但是,我还没有验证它是否确实如此。
问题内容: 我想从Web服务中检索JSON,然后进行解析。 我走对了吗? 不幸的是,我不知道如何转换为JSONObject。 这是我的JSON(摘录): 问题答案: 您可以将字符串转换为json:
问题内容: 我有一个JSON对象,我将其转换为并在此处进行一些处理。稍后,我想转换相同的缓冲区数据以转换为有效的JSON对象。 我正在研究Node V6.9.1 下面是我尝试过的代码,但是当我转换回JSON却无法打开该对象时遇到了。 所以我尝试使用检查方式打印整个对象 如果我尝试像数组一样读取它 我也尝试解析它抛出 我需要将其视为我创建的真实对象(我的意思是像上面声明的那样)。 请帮忙.. 问题答
我有以下几门课: 我希望能够有一个具有JSON格式的文件,这样: 该文件是所有对象的列表。所以我试图创建两种方法: 将转换为JSON文件的方法。 方法,该方法将JSON文件读入。 在Java 8中实现这一点的最佳方式(最优雅的方式)是什么?我是否需要向类添加一些方法?还是有别的办法? 既然它是一个只包含字符串的对象列表,那么有什么优雅的东西吗?