本週接到乙個任務,用vb6.0傳送http請求,並處理返回的資料。
傳送的是json格式字串,接收到伺服器返回的json字串並處理。
vb6太老了,怎樣處理json,是否有現成的第三方庫呢?經過一番探索,找到了vbjson這個庫。
使用過程如下:
目錄內容如下:
2. 在工程中引用vbjson
右擊工程名稱-》新增-》模組-》現存,選擇json.bas
右擊工程名稱-》新增-》類模組-》現存,選擇cjsonscript.cls和cstringbuilder.cls
3. 新增相關引用
工程-》引用,勾選幾個相關的引用項,如下圖
4. 生成json字元
要生成的字串為:
}
set p = json.parse("{}")
set issd = json.parse("{}")
p.add "issd", issd
p.item("issd").add "f_model", "qa-1/155(uew)"
p.item("issd").add "f_panjuclass", "pt4灰"
p.item("issd").add "f_instocknum", 20
textcontent.text = json.tostring(p)
生成的json字串如下圖:
}
效果:
5. 解析json字元
要解析的字串為:
}
dim sinputjson as string
sinputjson = ...
' sets p
set p = json.parse(sinputjson)
dim str1 as string
dim str2 as string
dim str3 as string
str1 = p.item("info").item("f_encode")
str2 = p.item("info").item("f_panjuclass")
str3 = p.item("info").item("f_creatorusername")
msgbox str1 & vbcrlf & str2 & vbcrlf & str3
效果:
到這裡,生成json和解析json的問題都解決了。
關於亂碼問題的記錄:
預設的vbjson版本中,如果json物件中帶有中文和特殊符號,則通過json.tostring生成出來的字串中會有奇怪的字元,如下圖:
費了一番功夫,找到了原因,原來是vbjson庫里的問題:在模組json中,有個tostring方法,對字串做了一次encode,導致中文字元變成奇怪的符號。
解決的辦法是把這個encode方法去掉:
去掉encode後,中文恢復正常,如下圖:
VB6 0 檔案操作語句
open語句 能夠對檔案輸入 輸出 i o 語法 openpathname formode accessaccess lock as filenumber len reclength open語句的語法具有以下幾個部分 部分描述 pathname 必要。字串表示式,指定檔名,該檔名可能還包括目錄 資...
VB6 0中MsgBox函式的Bug
這個bug我發現已久但沒有貼出來,今天貼出來與大家共享以下。msgbox函式真的很方便,但大家不妨試試將乙個form startupposition設為2 用api函式setwindowpos置於最上,然後在這個form中呼叫msgbox函式,怎麼樣,程式沒反應了吧。其實它的原理很簡單,msgbox...
VB6 0中的視窗控制技巧(2)
讓視窗一直在上面 很多流行軟體都有這樣乙個選項 always on top。它可以讓視窗在最上面,別的視窗不能覆蓋它。我們在 vb 中,可以使用下面的方法來實現 private const swp nosize h1 private const swp nomove h2 private const...