使用不规则格式处理JSON数据?

时间:2017-08-05 20:24:15

标签: r

我从一个API获得的json数据有很多观察,我试图将“FIPS”变成数据帧。并非每次拉动都成功,留下空值和不规则格式。当我尝试第一次拉动时,

    library(rjson)
    test<-"{\"status\":\"OK\",\"responseTime\":9,\"message\":[],\"Results\":{\"block\":[{\"envelope\":{\"maxy\":11.11111111,\"minx\":-11.11111111,\"maxx\":-11.1111111111,\"miny\":11.01111111111},\"geographyType\":\"BLOCK2010\",\"FIPS\":\"11111111111\"}]}}"
    test1<-fromJSON(test)
    names(test1)

    test1$Results$block$FIPS
    test.block.df<-as.data.frame(test1$Results$block$FIPS)

在一个可重复的例子中:

rep<-c("{\"status\":\"OK\",\"responseTime\":10,\"message\":[\"No Block results found\"],\"Results\":{\"block\":[]}}", "{\"status\":\"OK\",\"responseTime\":9,\"message\":[],\"Results\":{\"block\":[{\"envelope\":{\"maxy\":00.0000000000,\"minx\":-00.000000000,\"maxx\":-00.00000000,\"miny\":00.0000000000000},\"geographyType\":\"BLOCK2010\",\"FIPS\":\"111111111121\"}]}}"  )
rep1<-fromJSON(rep)
names(rep1)
rep1$result$block

但在此之后,我无法在此之后解析为FIPS。先感谢您。

1 个答案:

答案 0 :(得分:0)

有两个问题:1)00.0000的数字格式不是由jsonlite处理的。 2)每个请求都可以返回多个响应,每个响应都被格式化为一个独立的json结构

var list = arr.sort().reduce(function (p, c, i) {
  return p.concat(['<li class="item" data-id="', i, '">', c, '</li>']);
}, []).join('');