上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
kib48660
註冊時間: 2003-02-24 文章: 121
第 1 樓
|
發表於: 星期四 六月 18, 2015 9:15 am 文章主題: JSON 如何讀取 |
|
|
JSON是JavaScript的子集,在VFP如何讀取資料 _________________ =========================
人生如霧亦如夢,緣生緣滅還自在,一切隨緣 |
|
回頂端 |
|
|
elleryq
註冊時間: 2007-06-21 文章: 768
第 2 樓
|
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 3 樓
|
發表於: 星期四 六月 18, 2015 1:14 pm 文章主題: |
|
|
承上面物件
代碼: |
SET PROCEDURE TO qdfoxJSON ADDITIVE
sJSON = STRTOFILE('json.txt')
=SYS(987,.T.)
=SYS(3101,65001)
JSONStart()
oJSON = JSON.Parse(sJSON)
? oJSON.para1
? oJSON.para2
|
_________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4225 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期四 六月 18, 2015 1:32 pm 文章主題: |
|
|
我是在這個時候用JSON的,
看不懂,不要問,
看懂了,算你賺到.
書上找不到,
GOOGLE得到,應該是平常有扶老太太過馬路
代碼: |
<?php
if( isset($_GET['callback']))
{
$scallback= $_GET['callback'];
}
$cFILTER = stripslashes((urldecode($_GET['cFilter'])));
$request = new stdClass;
$request->sfilter = urlencode($cfilter);
$vfp_com = new com('ERP_DCOM.ORDER_COM01',null,CP_UTF8);
$response = $vfp_com->GetJson('GetOrder',json_encode($request) );
vfp_com = null;
echo $_GET['callback']. '(' .json_encode(json_decode($response)). ');';
?>
|
_________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
violetlkk
註冊時間: 2003-06-21 文章: 84 來自: kaohsiung
第 5 樓
|
發表於: 星期四 六月 16, 2016 6:09 pm 文章主題: |
|
|
謝謝
1.想不到 vfp 也有處理json的工具
2.以前也有玩過網頁上抓取dbf資料的經驗,做法跟你一樣,利用vfp com 來達成
就是 winxp + apache + php , 差別在以前還不會用 json , 我只會 "字串暴力拆解法"... |
|
回頂端 |
|
|
ezpos
註冊時間: 2011-04-20 文章: 323
第 6 樓
|
發表於: 星期日 九月 02, 2018 8:38 pm 文章主題: |
|
|
***這個工具要慎用!!資料一多的時候,會卡住很久.太多的話,就是當掉了
SET PROCEDURE TO qdfoxJSON ADDITIVE
jsonstart()
json.canonicalnotation = .T.
o=jsonobject(This.uc_responsetext) &&當在這一行 _________________ ezPos收銀機 簡單好用低成本 http://www.ezpos.info
全新美觀的POS收銀機.POS軟硬體耗材.
軟體客制化.網站規劃....能賺錢的都可以找我
http://www.twelife.com 台灣生活網 |
|
回頂端 |
|
|
Niles
註冊時間: 2004-12-07 文章: 53
第 7 樓
|
發表於: 星期一 十月 15, 2018 1:51 am 文章主題: |
|
|
VFP9
qdfoxJSON.PRG
Version : 1.8
loJSONObject = JSONObject(lcResponseText)
當 lcResponseText 內含 "加" "魷" 等字, 解析過程就會出現錯誤
請問諸位先進是否遇過類似問題? |
|
回頂端 |
|
|
violetlkk
註冊時間: 2003-06-21 文章: 84 來自: kaohsiung
第 8 樓
|
發表於: 星期三 十月 17, 2018 2:23 am 文章主題: |
|
|
我沒實作過, 我用猜的
SYS(987,.T.)
SYS(3101,65001)
這兩行有沒有先放進去
看起來好像是 utf8 的問題
理論上vfp可以處理 utf8 |
|
回頂端 |
|
|
Niles
註冊時間: 2004-12-07 文章: 53
第 9 樓
|
發表於: 星期三 十月 17, 2018 3:38 am 文章主題: |
|
|
violetlkk 寫到: | 我沒實作過, 我用猜的
SYS(987,.T.)
SYS(3101,65001)
這兩行有沒有先放進去
看起來好像是 utf8 的問題
理論上vfp可以處理 utf8 |
有試過, 也試過從 ResponseBody 抓UTF8再轉 double-byte
結果相同, 推測問題是出在 parser 本身
因為大部分的內文都OK, 目前只遇到少數字有問題
而且問題是出在解析欄位與欄位值的時候,
parser 受到特定字元的影響造成節點判斷錯誤 |
|
回頂端 |
|
|
Niles
註冊時間: 2004-12-07 文章: 53
第 10 樓
|
發表於: 星期三 十月 17, 2018 10:25 pm 文章主題: |
|
|
Niles 寫到: | VFP9
qdfoxJSON.PRG
Version : 1.8
loJSONObject = JSONObject(lcResponseText)
當 lcResponseText 內含 "加" "魷" 等字, 解析過程就會出現錯誤
請問諸位先進是否遇過類似問題? |
問題已經解決, 經驗如下
1. lcResponseText 不可先做轉換, 否則特定字會造成解析過程錯誤
2. 解析後再將內含中文的欄位做 StrConv()
3. JSONObject(lcResponseText) 無法達成上述目的,
必須以 JSON.Parse(lcResponseText) 處理才可以
4. 基於我不是很熟悉相關技術以及無法確認其它環境因素的影響
以上經驗分享或有可能是某些前置作業的錯誤導致後續必須迂迴處理
總之提供大家參考看看 |
|
回頂端 |
|
|
ezpos
註冊時間: 2011-04-20 文章: 323
第 11 樓
|
|
回頂端 |
|
|
Niles
註冊時間: 2004-12-07 文章: 53
第 12 樓
|
發表於: 星期日 十二月 02, 2018 7:06 pm 文章主題: |
|
|
ezpos 寫到: | 1.魷
2.鱿
經我測試
錯在2
不是1 |
是的我筆誤了
主要是 Parser 有這一類的錯誤真是令人困擾 |
|
回頂端 |
|
|
|