官术网_书友最值得收藏!

1.7 jsonlite——JSON文件

JavaScript Object Notation(JSON)通常是作為不同語言之間互相交流信息的文件,JSON文件不但節省存儲空間,其簡潔明了的形式也很容易理解。jsonlite包既能夠完整地將JSON格式的文件完整的解析和讀取到R語言中來,也可以將任何常見的R對象(object)輸出成JSON格式。在1.6節中,toJSON函數可用來將PDF文檔目錄轉換成JSON格式,以便于理解各層級之間的關系。

讀取JSON文件的fromJSON函數共包含6個參數,通常情況下,除了指定文件路徑之外,其他參數使用默認設置即可。表1-17中列出了該函數的參數及功能描述。

表1-17 數據導入函數fromJSON參數詳解

首先以JSON常見的數組形式創建一個字符串向量,保存為example。中括號代表數組的起始,雙引號中代表值,值與值之間以逗號進行分隔,然后再用單引號將這一數組格式保存到字符串向量中。因為example中的數組是按照JSON格式輸入的,所以直接使用fromJSON函數即可。在默認的參數設置下,可以得到一個包含4個值的R對象——字符串向量。運行fromJSON前后的這兩個字符串向量雖然名字一樣,但內容完全不同,感興趣的讀者可以單獨運行example來對比某區別所在。formJSON示例代碼如下:

> example <-'["a", "b", 0, "c"]'
> fromJSON(example)
## [1] "a" "b" "0" "c"

當參數simplifyVector被指定為假時,返回結果為一個含4個元素的列表。4個元素即代表共有4個值,每一個值都以列表的形式返回。當JSON格式的原始數據文件有多重嵌套時,可以通過設置參數來查看數據結構和正確讀取數據。不過,一般情況下還是建議讀者使用非嵌套數據進行來練習和使用R語言與JSON格式數據交互,待有一定了解后再提高難度。返回結果如下:

> fromJSON(example,simplifyVector = F)
## [[1]]
## [1] "a"
## 
## [[2]]
## [1] "b"
## 
## [[3]]
## [1] 0
## 
## [[4]]
## [1] "c"
主站蜘蛛池模板: 山西省| 竹山县| 安化县| 美姑县| 阿拉善右旗| 互助| 松滋市| 彭山县| 灵丘县| 密山市| 波密县| 军事| 岳西县| 封丘县| 梓潼县| 五家渠市| 交城县| 乐安县| 雷州市| 襄汾县| 东乌珠穆沁旗| 德兴市| 新余市| 扬中市| 达拉特旗| 股票| 汶川县| 漳州市| 马龙县| 淅川县| 富川| 英山县| 通州市| 堆龙德庆县| 会昌县| 穆棱市| 梁河县| 嘉祥县| 台中市| 青海省| 鄄城县|