問題描述:
1.將xml報文轉換成json物件來獲取節點值
import xmltodict
json = xmltodict.parse(xml)
我們需要遍歷json中的couponinfo節點,但是,當couponinfo是單個而非多個的時候,用for couponinfo in json['couponinfo']時就會報錯,因為單節點的時候,整條couponinfo會被當成字串處理不能用couponinfo['couponno']來獲取鍵值。
2.如何將單節點變成list,
我的解決辦法是,當然,這個辦法很笨。
向string型別的xml報文中插入乙個空節點,然後在用xmltodict.parse(xml)將其轉換成json字典,這樣json['couponinfo']就變成了list,可以迴圈遍歷,當然,在使用的時候要判斷節點是否為none
**如下
import xmltodictimport xml
import xmlrpc
import json
rsfile = open('d:/rs.txt')
rs = rsfile.read()
cend = ''
pos = rs.rfind(cend)
rs1 = rs[0:pos+len(cend)]
rs2 = ''
rs3 = rs[pos+len(cend):len(rs)]
print(pos)
print('rs1 is : ',rs1)
print('rs3 is : ',rs3)
rs = rs1 + rs2 + rs3
print(rs)
rsjson = xmltodict.parse(rs)
print(rsjson)
print(len(rsjson['couponinfo']))
樹節點for迴圈字節點問題
在樹結構中 資料庫查出根節點,而子節點需要根節點for迴圈查出 有幾個常見的問題,假如根節點的資料量比較大,那麼子節點需要大量的資料庫查詢操作,1.浪費資料庫資源,2.頻繁對資料庫進行操作,導致資料庫效率低下,速度卡頓 解決 將子節點資料一次性查出,然後通過map來做臨時儲存,然後通過根節點做key...
怎麼處理多層Json資料迴圈遍歷的問題?看這裡
今天我們寫乙個關於處理多層for迴圈的問題,其實這個嚴格來說不是多層迴圈的問題,他的本質其實是對json資料格式的處理,很多時候啊我們的資料格式是這樣的 資料格式 var timelinelist 是吧,其實這樣的資料是乙個兩層的資料,我在之前的部落格裡面寫過,我說這種格式的資料其實是很常見的,但是...
for迴圈遍歷json 附習題及答案
三種方法 var mapcolumn 一 原生 var target var targetl for var key in mapcolumn console.log target console.log targetl 二 jquery 三 es6字串拼接 從別的地方看到的不錯的習題,實際工作中也...