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