powerbuilder 如何解析JSON字符串

PowerBuilder没有内建的JSON解析功能,但可以通过使用PowerScript的字符串函数和数据类型来解析JSON字符串。

以下是一种可能的解析方法:

首先,将JSON字符串转换为PowerBuilder字符串变量。

例如,假设有一个JSON字符串:

json 复制代码
{
  "name": "John Smith",
  "age": 30,
  "city": "New York"
}

可以将其转换为PowerBuilder字符串变量,例如:

powerbuilder 复制代码
string ls_json
ls_json = '{ "name": "John Smith", "age": 30, "city": "New York" }'

使用PowerScript的字符串函数解析JSON字符串。

可以使用PowerScript的字符串函数(例如PosMidReplace)来解析JSON字符串中的键值对。例如,可以使用Pos函数找到某个键的位置,然后使用Mid函数提取该键对应的值。

powerbuilder 复制代码
integer li_start, li_end

// 查找"name"键的位置
li_start = Pos('name', ls_json)
li_start = li_start + 6 // 跳过键名和冒号字符

// 查找值的结束位置
li_end = Pos('"', ls_json, li_start) - 1

// 提取值
string ls_name
ls_name = Mid(ls_json, li_start, li_end - li_start)

重复步骤2,解析其他键值对。

根据需要,可以重复步骤2,解析JSON字符串中的其他键值对。

请注意,这只是一种可能的解析方法,可以根据实际需求和JSON字符串的结构进行调整。另外,如果需要处理更复杂的JSON结构,可能需要使用循环和递归。

首先可以告诉大家目前基本上没有很好的方案,虽然网上有人提供一些json解析对象实际上仅仅适用于很小体积的JSON,对于大的JSON字符串会很慢或者干脆卡死,在实际项目我只能实话说我们一般使用后台数据库自带的解析功能进行解析但是这样就涉及到前后数据传输的问题如果碰到比较特殊的符号就会有麻烦,所以很抱歉的说目前没有很好解决方案。

相关推荐
这里有鱼汤19 分钟前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
用户21411832636021 小时前
dify案例分享-免费玩转 AI 绘图!Dify 整合 Qwen-Image,文生图 图生图一步到位
前端
IT_陈寒1 小时前
Redis 性能翻倍的 7 个冷门技巧,第 5 个大多数人都不知道!
前端·人工智能·后端
mCell8 小时前
GSAP ScrollTrigger 详解
前端·javascript·动效
gnip8 小时前
Node.js 子进程:child_process
前端·javascript
excel11 小时前
为什么在 Three.js 中平面能产生“起伏效果”?
前端
excel12 小时前
Node.js 断言与测试框架示例对比
前端
天蓝色的鱼鱼14 小时前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping14 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙14 小时前
[译] Composition in CSS
前端·css