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

相关推荐
刘一说43 分钟前
Vue 组件不必要的重新渲染问题解析:为什么子组件总在“无故”刷新?
前端·javascript·vue.js
徐同保2 小时前
React useRef 完全指南:在异步回调中访问最新的 props/state引言
前端·javascript·react.js
刘一说2 小时前
Vue 导航守卫未生效问题解析:为什么路由守卫不执行或逻辑失效?
前端·javascript·vue.js
一周七喜h3 小时前
在Vue3和TypeScripts中使用pinia
前端·javascript·vue.js
weixin_395448913 小时前
main.c_cursor_0202
前端·网络·算法
东东5163 小时前
基于vue的电商购物网站vue +ssm
java·前端·javascript·vue.js·毕业设计·毕设
MediaTea3 小时前
<span class=“js_title_inner“>Python:实例对象</span>
开发语言·前端·javascript·python·ecmascript
编码者卢布4 小时前
【Azure Stream Analytic】用 JavaScript UDF 解决 JSON 字段被转成 Record 的关键点
javascript·json·azure
梦梦代码精4 小时前
开源、免费、可商用:BuildingAI一站式体验报告
开发语言·前端·数据结构·人工智能·后端·开源·知识图谱
0思必得04 小时前
[Web自动化] Selenium执行JavaScript语句
前端·javascript·爬虫·python·selenium·自动化