互聯網時代,以目前的主流技術,個人覺得涉及到以下三方面
一、資料生成json
這個對pb沒太多難度,按json格式規格,對datastore里的資料來個回圈寫字串就OK了,花不了多少時間
二、json生成記錄行
這個要講點技巧,datastore是有一個很重要的功能:依照xml格式匯入資料,使用的是importstring()函式,那么,只要想辦法把json生成xml檔案字串,就很快可以實作了。處理這個問題的關鍵是在于決議json,并拼成xml格式。這個只要理解一下xml規范與json規范,耐心一點進行字串分析,寫回圈,問題也不大。因為datastore里定義xml格式很容易(有一個xml畫板),所以寫個公共函式轉json成xml即可,然后在xml畫板里把xml模板調成你生成的模板。這個也可以自己寫的,不用到網上找插件
把json資料生成datastore記錄行,好處非常的多。首先,很容易進行update()操作;其次,很容易進行資料業務邏輯判斷。。。大家都是用pb的,就不多說了
在這部分里,要注意的是xml的保留符號的轉義:<、>、&這三個符號一定要轉義,不然json的值域里一旦這現這三個符號,生成在xml的值域中時,importstring()一定會報錯的。什么情況下值里包含這三個符號呢?呵呵,一般沒接觸過是考慮不到的,我來告訴你:那就是微信用戶的昵稱,或者識訓人的名字
三、字串的編碼轉換,又細分為base64編碼與utf8編碼
pb在與這些編碼格式打交道時,我總結出下來幾點:
1.blob()函式生成的值是base64編碼,用string(blob)進行解碼
2.如果對方介面回傳是base64的字串的話,在pb script中使用blob來接收,然后用string()來解壓。如果用string型別來接收,很快就會發現沒辦法用string()來解碼,這時候就得找第三方的物件了,而且不好找
3.utf8與unicode之間的轉碼,需要使用string()函式,而string()又只能針對blob進行編碼轉換,所以,原始資料必須得用blob來接收,再進行轉換
如果不能實作自由地進行編碼轉換,PB基本上就與互聯網無緣了:php寫的網站介面,大部分是utf8編碼的,相互通訊時亂碼,沒搞頭了
解決了這三方面的事情,很容易就與各種網站程式的介面進行互動了。小弟正是用了這三方面的知識,順利地與微信一部分介面進行了互動。
有點拗口,不過等用上的時候仔細思考,就會明白了
uj5u.com熱心網友回復:
base64本來就是字串 我認為樓主的3.1 和 3.2 有誤uj5u.com熱心網友回復:
樓主,做的微信什么介面呀?uj5u.com熱心網友回復:
頂一下,也關注這塊uj5u.com熱心網友回復:
pb+微信我覺得難度不大,因為微信的加解密方式比較簡單。我看過支付寶的介面就比較麻煩了,因為支付寶用的是非對稱密鑰,需要使用公鑰私鑰來加解簽,這塊估計目前pb沒法完成。uj5u.com熱心網友回復:
取token的介面,以及微信小店的介面
個人覺得微信小店還是不錯的,解決了付款交易的問題,而且不用自建服務器.程式員只需要關注核銷就好了,省時省力
uj5u.com熱心網友回復:
嗯.base64就是字串.我想表達的是pb的blob()與string()是可以實作base64的編碼與解碼.應該是我的表述有誤
uj5u.com熱心網友回復:
嗯,向你學習,現在還沒研究到支付寶
uj5u.com熱心網友回復:
可以參考這里面的示例包括提供json資料服務和pb通過http得到json,http://download.csdn.net/detail/pcwe2002/9523299
uj5u.com熱心網友回復:
看看。。 學習。uj5u.com熱心網友回復:
學習 了與時俱進
uj5u.com熱心網友回復:
請問PB如何呼叫WEBAPI呢?uj5u.com熱心網友回復:
mk標記下,以后用到再來學習。uj5u.com熱心網友回復:
留個記號以后學習一下。uj5u.com熱心網友回復:
留個記號以后學習下。uj5u.com熱心網友回復:
確實,PB呼叫介面開發,方便了很多,感徑訓發了一點點生機,轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/16472.html
標籤:Web 應用
