python解析jason資料

2021-08-27 02:46:34 字數 1628 閱讀 7545

今天在觀察python指令碼的時候,看到了python解析jason資料這麼一段。

經過相關查詢,終於弄清楚了python是怎麼解析jason結構,取得資料的。

我們通過以下命令:

target = urlopen(url, 'utf8')

try:

target = json.loads(target)

except:

print 'load json error!!'

取得了這麼一段jason資料:

,,,

]},

"example2": ,,},

}}

我們應該如何拿到裡面的資料呢?比如說拿到key為「three」,value為「123456」的值,那麼我們可以這樣獲取資料:

get_value = target['tables']['example1']['values'][2]['value']
首先,需要理解jason的結構:

寫道json建構於兩種結構:

「名稱/值」對的集合(a collection of name/value pairs)。不同的語言中,它被理解為物件(object),紀錄(record),結構(struct),字典(dictionary),雜湊表(hash table),有鍵列表(keyed list),或者關聯陣列 (associative array)。

值的有序列表(an ordered list of values)。在大部分語言中,它被理解為陣列(array)。

寫道json具有以下這些形式:

物件是乙個無序的「『名稱/值』對」集合。乙個物件以「」(右括號)結束。每個「名稱」後跟乙個「:」(冒號);「『名稱/值』 對」之間使用「,」(逗號)分隔。

陣列是值(value)的有序集合。乙個陣列以「[」(左中括號)開始,「]」(右中括號)結束。值之間使用「,」(逗號)分隔。

值(value)可以是雙引號括起來的字串(string)、數值(number)、true、false、 null、物件(object)或者陣列(array)。這些結構可以巢狀。

而python會把對應的jason結構翻譯過來,對應的關係如下:

json

python

object

dict

array

list

string

unicode

number (int)

int, long

number (real)

float

true

true

false

false

null

none

所以我們使用 get_value = target['tables']['example1']['values'][2]['value'] 就可以得到「123456」這個值。

同理,使用 get_value = target['tables']['example2']['values'][0]['key']就可以得到「four」這個值了。

本文只是簡單的分析,並沒有深入研究,

待到對python的學習再深入一點再回頭來看看,應該會有很大的改進!

參考:

Jason檔案解析

public class json param path 網頁路徑 return 返回 list throws exception public static list getjsonarray string path throws exception jsonarray jsonarray new...

hive 解析jason字串

經常有jason字串需要解析後,取對應位置的資料,jason字串可能是這樣的 這個只有兩個字段,但是道理是一樣的嘛 這時只需要使用視窗函式get json object,具體 如下 select get json object info,type as type,get json object in...

傳送自定義jason資料並解析處理

1 我這裡自定義乙個json資料 如下所示 var jsondata 2 把這個json資料傳遞給後台處理 ajax success function si error function err 3 後台的webservice服務如下進行解析處理 webmethod public void test...