标题:求教 foxjson.ff 如果json串过长,会报错!
只看楼主
weiyisc
Rank: 1
等 级:新手上路
帖 子:69
专家分:7
注 册:2009-5-17
结帖率:80.95%
已结贴  问题点数:20 回复次数:20 
求教 foxjson.ff 如果json串过长,会报错!
如题!请指教....

有其它json解析库吗?

附:文件
解析的JSON.txt (775.55 KB)
搜索更多相关主题的帖子: ff 报错 解析 文件 
2023-04-09 17:02
kangss
Rank: 4
等 级:贵宾
威 望:10
帖 子:138
专家分:237
注 册:2014-6-12
得分:4 
775K看样子字符串不算长

你没说谁?哪?啥?报错
2023-04-09 17:07
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:4 
用ALINES()解析5MB数据都没问题

坚守VFP最后的阵地
2023-04-09 17:17
weiyisc
Rank: 1
等 级:新手上路
帖 子:69
专家分:7
注 册:2009-5-17
得分:0 
回复 2楼 kangss
报这个错。
2023-04-09 17:49
weiyisc
Rank: 1
等 级:新手上路
帖 子:69
专家分:7
注 册:2009-5-17
得分:0 
回复 3楼 sdta
能否给个例子?
2023-04-09 17:50
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
要解析什么内容

坚守VFP最后的阵地
2023-04-09 17:58
weiyisc
Rank: 1
等 级:新手上路
帖 子:69
专家分:7
注 册:2009-5-17
得分:0 
回复 6楼 sdta
output下面data下面data列表
2023-04-09 18:12
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:29
帖 子:484
专家分:1827
注 册:2018-3-13
得分:4 
你这是 utf-8 编码的 txt,先另存为 ansi 再解析
2023-04-09 19:04
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:0 
程序代码:
CREATE CURSOR tt (id c(20), hilistCode c(30), hilistName c(80), updtTime c(19))
lcTxt = STRCONV(FILETOSTR("json.txt"), 11)
ALINES(laTxt, lcTxt, 1+4, '"data":[{', '},{', '}]')
FOR ln1 = 2 TO ALINES(laTxt, lcTxt, 1+4, '"data":[{', '},{', '}]') - 1
    ALINES(laStr, laTxt[ln1], ",")
    APPEND BLANK 
    FOR ln2 = 1 TO 4 && 共31个字段,只取了4个
        lc1 = STREXTRACT(laStr[ln2], SPACE(0), ":")
        lc2 = STREXTRACT(laStr[ln2], ":", SPACE(0))
        REPLACE (lc1) WITH &lc2
    ENDFOR
ENDFOR
BROWSE 


坚守VFP最后的阵地
2023-04-09 20:41
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:4 

程序代码:
jsCode = "var json=" + LOWER(STRCONV(FILETOSTR("解析的JSON.txt"),11))
js = CREATEOBJECT("ScriptControl")
js.Language = "JavaScript"
js.AddCode(jsCode)
json = js.CodeObject.json
? json.output.message    && "message": "成功"
CREATE CURSOR tt (id v(20), hilistCode v(30), hilistName v(30), updtTime v(20))
FOR EACH aJsonData IN json.output.data.data
    INSERT INTO tt VALUES (aJsonData.id, aJsonData.hilistcode, aJsonData.hilistname, aJsonData.updttime) 
ENDFOR
SELECT * FROM tt
2023-04-09 21:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-511847-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 2.102296 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved