js调用datasnap rest server
场景:
有嵌套的多层json数据结构的变量,js通过post调用 datasnap rest server,会出现问题:
var json = [{
stcd: system.sn,
dateTime: dateTimeStr,
stnm: system.stnm,
lgtd: system.lgtd,
lttd: system.lttd,
stlc: system.stlc,
mydata: { "test_key": "test_value" } // 简化结构
}];
var request = { type: 'text', // 指定为纯文本请求
headers: { Authorization: 'Basic ' + btoa('xxxxx:yyyyy'), 'Content-Type': 'application/json; charset=UTF-8' },
data: json
};
var resp = API.httpPost(url, request, 10);
API.log('API Response: ' + JSON.stringify(resp));
=====================
返回:mydata是null
[2024-10-26 19:57:07 017] post返回:{"code":"99913","resp":""}
要求:传送到api是字符串json。而js的 JSON.stringify()带有多层就会出现问题,api解析不了。所以每一层都要通过JSON.stringify()转换。
var json = [{ stcd: system.sn, mydata: JSON.stringify([{ "key": "test_key", "value": "test_value" }]) }]; 然后: var request = { type: 'json', headers: { Authorization: authHeader, 'Content-Type': 'application/json; charset=UTF-8' }, data: JSON.stringify(json) }; API.httpPost(url, JSON.stringify(request), 10);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-10-27 TJSON的烦人的泄漏
2017-10-27 学习EXTJS6(4)基本功能-信息提示框组件