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字符串会很慢或者干脆卡死,在实际项目我只能实话说我们一般使用后台数据库自带的解析功能进行解析但是这样就涉及到前后数据传输的问题如果碰到比较特殊的符号就会有麻烦,所以很抱歉的说目前没有很好解决方案。

相关推荐
爱分享的鱼鱼8 分钟前
对比理解 Vue 响应式 API:data(), ref、reactive、computed 与 watch 详解
前端·vue.js
JS_GGbond10 分钟前
【性能优化】给Vue应用“瘦身”:让你的网页快如闪电的烹饪秘籍
前端·vue.js
T___T11 分钟前
一个定时器,理清 JavaScript 里的 this
前端·javascript·面试
代码小学僧12 分钟前
从 Arco Table 迁移到 VTable:VTable使用经验分享
前端·react.js·开源
微笑的曙光13 分钟前
Vue3 环境搭建 5 步走(零基础友好)
前端
不知名用户来了17 分钟前
基于vue3 封装的antdv/element-Plus 快速生成增删改查页面
前端
明川23 分钟前
Android Gradle - ASM + AsmClassVisitorFactory插桩使用
android·前端·gradle
布列瑟农的星空24 分钟前
webpack迁移rsbuild——配置深度对比
前端
前端小黑屋26 分钟前
查看项目中无引用到的文件、函数
前端
前端小黑屋27 分钟前
小程序直播挂件Pendant问题
前端·微信小程序·直播