濮阳杆衣贸易有限公司

主頁 > 知識庫 > vbs 解析json jsonp的方法

vbs 解析json jsonp的方法

熱門標簽:神行者美術館地圖標注 佛山真人電銷機器人廠家 如何用機器人進行電銷 東營快遞外呼系統(tǒng) 地圖標注政府哪個部門管 除了地圖標注還有這種生意嗎 齊齊哈爾高德地圖標注店 哪里有便宜的地圖標注公司 百度地圖標注點距離代碼

我收集了三種常見 json jsonp 的格式,因為很多人找我說如何用正則提取某個字符串,我看了下,要么是json,要么是jsonp,
正則簡直浪費,比如那種空間里說說的數(shù)據(jù),上百條的信息,你正則個P,而且還有回復里的格式也差不多的,所以最好的方法還是解析。

先來看看常見的三種吧:

酷我音樂用戶信息 json 格式
http://kzone.kuwo.cn/mlog/UserVal?uid=1237357from=profile
{"work":4,"fans":275,"lp":"{\"id\":1237357,\"username\":\"亂碼\",\"pic\":\"http://img3.kuwo.cn/star/userhead/57/55/1315554310390_1237357m.jpg\"}","art":4,"album":1,"fortune":342402,"article":0,"workVideo":1,"care":195,"workAudio":3,"view":1312997,"playlist":0,"listen":278962,"collect":1}

拍拍手機查詢接口 jsonp 格式
http://virtual.paipai.com/extinfo/GetMobileProductInfo?mobile=13012345678amount=10000callname=cb
cb({mobile:'13012345678',province:'重慶',isp:'中國聯(lián)通',stock:'1',amount:'10000',maxprice:'0',minprice:'0'});

搜狐IP信息 js 格式
http://pv.sohu.com/cityjson
var returnCitySN = {"cip": "218.72.14.14", "cid": "330100", "cname": "浙江省杭州市"};

這幾種合適都可以通過 htmlfile 來解析,但是方法稍微有點差異。

先來解析第一種 json 格式的吧。

Set html = CreateObject("htmlfile")
Set http = CreateObject("Msxml2.ServerXMLHTTP")

http.open "GET", "http://kzone.kuwo.cn/mlog/UserVal?uid=1237357from=profile", False
http.send
strHtml = http.responseText ' 得到數(shù)據(jù)

Set window = html.parentWindow
window.execScript "var json = "  strHtml, "JScript" ' 解析 json

Set kuwo = window.json ' 獲取解析后的對象
WScript.Echo "訪問量:", kuwo.view, " 財富:", kuwo.fortune

可以得到如下信息。

再來看看 jsonp 的解析,jsonp其實只是多了一個回調(diào)函數(shù)而已,所以我們自定義一個函數(shù)解析他就可以了。

Set html = CreateObject("htmlfile")
Set http = CreateObject("Msxml2.ServerXMLHTTP")
callback = "cb"
url = "http://virtual.paipai.com/extinfo/GetMobileProductInfo?mobile=13012345678amount=10000callname="  callback

http.open "GET", url, False
http.send
strHtml = http.responseText ' 得到數(shù)據(jù)
' cb({mobile:'13012345678',province:'重慶',isp:'中國聯(lián)通',stock:'1',amount:'10000',maxprice:'0',minprice:'0'});
' !--[if !IE]>|xGv00|8030d7c308afc4a32846a715ff79e9a3![endif]-->
' 得到的是這樣的數(shù)據(jù),所以要處理下
strHtml = Split(strHtml, vbLf)(0) ' 取第一行
Set window = html.parentWindow
window.execScript "function "  callback  "(o){json=o}", "JScript" ' jsonp 回調(diào)函數(shù)、
window.execScript strHtml, "JScript" ' 解析 json

Set json = window.json ' 獲取解析后的對象
WScript.Echo json.mobile, json.isp, json.province 

可以得到如下信息。

最后看下 js 格式解析,這個是最簡單的,什么都不用做,但是你要知道他的變量名。

Set html = CreateObject("htmlfile")
Set http = CreateObject("Msxml2.ServerXMLHTTP")

http.open "GET", "http://pv.sohu.com/cityjson", False
http.send
strHtml = http.responseText ' 得到數(shù)據(jù)
' 得到 var returnCitySN = {"cip": "218.72.14.14", "cid": "330100", "cname": "浙江省杭州市"};

Set window = html.parentWindow
window.execScript strHtml, "JScript" ' 解析 js

Set js = window.returnCitySN ' 獲取解析后的對象
WScript.Echo js.cname, js.cip, js.cid 

可以得到如下信息

js 格式的是最簡單的,但要注意,變量名是他定的,所以你在 獲取解析后的對象 那一步,要寫上他的變量名。
json 格式,我們只要給他加上變量名然后解析即可。
jsonp 相對麻煩點,因為要寫一個自定義回調(diào)函數(shù)。

總的來說,方法差不多,只是解析部分稍微有點不同而已。
用 htmlfile 解析,是不是比 正則 方便?

以后玩 POST 別再用落伍的 instr+mid 或者 正則 去解析 html json了, htmlfile 才是王道。

標簽:銅川 鶴壁 四平 西安 湖州 邢臺 文山 巨人網(wǎng)絡通訊聲明:本文標題《vbs 解析json jsonp的方法》,本文關鍵詞  vbs,解析,json,jsonp,的,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。

  • 相關文章
  • 下面列出與本文章《vbs 解析json jsonp的方法》相關的同類信息!
  • 本頁收集關于vbs 解析json jsonp的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    大兴区| 大安市| 宝鸡市| 武乡县| 绥中县| 夏津县| 宣恩县| 陈巴尔虎旗| 晋城| 河池市| 左云县| 若尔盖县| 苍南县| 瑞丽市| 黑河市| 四会市| 山西省| 金乡县| 红原县| 宣化县| 大港区| 建德市| 琼海市| 陆良县| 德江县| 丹棱县| 怀化市| 贵港市| 册亨县| 南丰县| 娱乐| 布尔津县| 合阳县| 遂平县| 屯留县| 西昌市| 库车县| 垦利县| 沈丘县| 雅安市| 平昌县|