 |
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
CPS0204
註冊時間: 2014-08-24 文章: 475
第 1 樓
|
發表於: 星期四 七月 11, 2024 9:31 am 文章主題: 簡單的json 字串拆解 分享 |
|
|
CLEAR
LCJSONSTRING = '{"key1": "值value1BB", "key2A": "值value2FFF", "key3": "value值34443", "key4": "value4234值", "key5": "值value5"}'
LCJSONSTRING = STRTRAN(LCJSONSTRING, '{', '') &&去除多餘符號
LCJSONSTRING = STRTRAN(LCJSONSTRING, '}', '') &&去除多餘符號
LCJSONSTRING = STRTRAN(LCJSONSTRING, '"', '') &&去除多餘符號
LCJSONSTRING = STRTRAN(LCJSONSTRING, ['], '') &&去除多餘符號
=MESSAGEBOX('原本的json字串:'+CHR(13)+LCJSONSTRING)
LOJSONOBJECT = CREATEOBJECT("Empty")
DIMENSION LAPAIRS[1]
J=ALINES(LAPAIRS, LCJSONSTRING, 1, ",")
FOR EACH LCPAIR IN LAPAIRS
LOCAL LNCOLONPOS
LNCOLONPOS = AT(":", LCPAIR)
* =MESSAGEBOX(TRANSFORM(LCPAIR)+' '+TRANSFORM(lnColonPos))
* 取key和值
LCKEY = ALLTRIM(LEFT(LCPAIR, LNCOLONPOS - 1))
LCVALUE = ALLTRIM(SUBSTR(LCPAIR, LNCOLONPOS + 1))
=MESSAGEBOX(TRANSFORM(LCPAIR)+' =分離後得到 '+LCKEY+' '+LCVALUE)
ADDPROPERTY(LOJSONOBJECT, LCKEY, LCVALUE) &&添加屬性的子件
NEXT
? LOJSONOBJECT.KEY1
? LOJSONOBJECT.KEY2A
? LOJSONOBJECT.KEY3
? LOJSONOBJECT.KEY4
? LOJSONOBJECT.KEY5
缺點: 每組鍵值及後面的值,不能有逗號 (,) (") ,('),等字元........否則報錯
只能簡單地處理
備註:json文串的檢查網址 https://jsonlint.com/ |
|
回頂端 |
|
 |
lygcw9603
註冊時間: 2011-12-25 文章: 130
第 2 樓
|
發表於: 星期四 七月 11, 2024 8:39 pm 文章主題: |
|
|
用alines()更方便 |
|
回頂端 |
|
 |
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|