迴圈遍歷Json單節點問題

2021-09-22 19:58:03 字數 956 閱讀 8270

問題描述:

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 xmltodict

import 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字串拼接 從別的地方看到的不錯的習題,實際工作中也...