javascript
数据分析:JSON格式数据
前言
最近使用tensorflow入門深度學習,找到了一個風格轉(zhuǎn)移圖片的神經(jīng)網(wǎng)絡感覺還蠻好玩風格轉(zhuǎn)移,想要自己做點兒其他風格的模型,但是尷尬的發(fā)現(xiàn),它需要使用MS coco數(shù)據(jù)集,下載地址為ms coco下載
學以致用,以學促用。輸出檢驗,完整閉環(huán)。
所以,總結(jié)一下學習收獲,寫下這篇稿子,介紹一下這個數(shù)據(jù)格式
JSON
JSON(JavaScript Object Notation, JS 對象簡譜) 是一種輕量級的數(shù)據(jù)交換格式。它基于 ECMAScript (歐洲計算機協(xié)會制定的js規(guī)范)的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡傳輸效率。
簡要歷史
JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。易于人閱讀和編寫。同時也易于機器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一個子集。
JSON是Douglas Crockford在2001年開始推廣使用的數(shù)據(jù)格式,在2005年-2006年正式成為主流的數(shù)據(jù)格式,雅虎和谷歌就在那時候開始廣泛地使用JSON格式。
JSON語法
JSON 語法規(guī)則
在 JS 語言中,一切都是對象。因此,任何支持的類型都可以通過 JSON 來表示,例如字符串、數(shù)字、對象、數(shù)組等。但是對象和數(shù)組是比較特殊且常用的兩種類型:
- 對象表示為鍵值對
- 數(shù)據(jù)由逗號分隔
- 花括號保存對象
- 方括號保存數(shù)組
JSON 鍵/值對
JSON 鍵值對是用來保存 JS 對象的一種方式,和 JS 對象的寫法也大同小異,鍵/值對組合中的鍵名寫在前面并用雙引號 “” 包裹,使用冒號 : 分隔,然后緊接著值:
1
{“firstName”: “Json”}
這很容易理解,等價于這條 JavaScript 語句:
1
{firstName : “Json”}
常用類型
在 JS 語言中,一切都是對象。因此,任何支持的類型都可以通過 JSON 來表示,例如字符串、數(shù)字、對象、數(shù)組等。但是對象和數(shù)組是比較特殊且常用的兩種類型。
對象:對象在 JS 中是使用花括號包裹 {} 起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 {key1:value1, key2:value2, …} 的鍵值對結(jié)構(gòu)。在面向?qū)ο蟮恼Z言中,key 為對象的屬性,value 為對應的值。鍵名可以使用整數(shù)和字符串來表示。值的類型可以是任意類型。
數(shù)組:數(shù)組在 JS 中是方括號 [] 包裹起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 [“java”, “javascript”, “vb”, …] 的索引結(jié)構(gòu)。在 JS 中,數(shù)組是一種比較特殊的數(shù)據(jù)類型,它也可以像對象那樣使用鍵值對,但還是索引使用得多。同樣,值的類型可以是任意類型。
基礎(chǔ)示例
簡單地說 [1] ,JSON 可以將 JavaScript 對象中表示的一組數(shù)據(jù)轉(zhuǎn)換為字符串,然后就可以在網(wǎng)絡或者程序之間輕松地傳遞這個字符串,并在需要的時候?qū)⑺€原為各編程語言所支持的數(shù)據(jù)格式,例如在 PHP 中,可以將 JSON 還原為數(shù)組或者一個基本對象。在用到AJAX時,如果需要用到數(shù)組傳值,這時就需要用JSON將數(shù)組轉(zhuǎn)化為字符串。
表示對象
JSON最常用的格式是對象的 鍵值對。例如下面這樣:
1
{“firstName”: “Brett”, “l(fā)astName”: “McLaughlin”}
表示數(shù)組
和普通的 JS 數(shù)組一樣,JSON 表示數(shù)組的方式也是使用方括號 []。
{
“people”:
[
{ “firstName”: “Brett”, “l(fā)astName”:”McLaughlin” },
{
“firstName”:”Jason”, “l(fā)astName”:”Hunter”}
]
}
這不難理解。在這個示例中,只有一個名為 people的變量,值是包含兩個條目的數(shù)組,每個條目是一個人的記錄,其中包含名和姓。上面的示例演示如何用括號將記錄組合成一個值。當然,可以使用相同的語法表示更過多的值(每個值包含多個記錄)。
在處理 JSON 格式的數(shù)據(jù)時,沒有需要遵守的預定義的約束。所以,在同樣的數(shù)據(jù)結(jié)構(gòu)中,可以改變表示數(shù)據(jù)的方式,也可以使用不同方式表示同一事物。
如前面所說,除了對象和數(shù)組,你也可以簡單地使用字符串或者數(shù)字等來存儲簡單的數(shù)據(jù),但這樣并沒有多大意義。
總結(jié)
以上是生活随笔為你收集整理的数据分析:JSON格式数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win10:tensorflow学习笔记
- 下一篇: java中图的封装,模拟java 中地图