找回密码
 立即注册

QQ登录

只需一步,快速开始

正一味
初级会员   /  发表于:2024-12-25 17:40  /   查看:63  /  回复:5
5金币
在做一个接口的时候,请求格式是这样的:

{
"items":
     [
         {"val":"0.000","result":1,"name":"ID"},
         {"val":"000000000000000003","result":1,"name":"SerialNum"},
         {"val":"8.772","result":1,"name":"Isc"},
         {"val":"6.787","result":1,"name":"Voc"},
         {"val":"8.042","result":1,"name":"Ipm"},
         {"val":"4.755","result":1,"name":"Vpm"},{"val":"2.778","result":1,"name":"CellEfficiency"},{"val":"64.233","result":1,"name":"FF"},{"val":"23","result":1,"name":"Grade"},{"val":"96.416","result":1,"name":"Temp"},{"val":"93.028","result":1,"name":"Irradiance"},{"val":"0.102","result":1,"name":"Rs"},{"val":"0.000","result":1,"name":"Rsh"},{"val":"0.000","result":1,"name":"CellArea"}]}


items 进行json反序列化后是个数组,我需要把数组的内容进行存储数据库,我本来是这样写的:
但是这样写的话,如果我有一条数据是没有的,传过来的数组长度与设置的不一致,就会报错了,有什么好的处理方式吗?谢谢!

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

5 个回复

倒序浏览
正一味
初级会员   /  发表于:7 天前
沙发
还有一种情况是,也有可能传过来的顺序字段和设置的是不一致的,所以不能通过下标确认
回复 使用道具 举报
赛龙周
银牌会员   /  发表于:7 天前
板凳
对json.Items循环取值
回复 使用道具 举报
正一味
初级会员   /  发表于:7 天前
地板
赛龙周 发表于 2024-12-25 19:50
对json.Items循环取值

循环取到数后,如何将对应的name值插入到表中呢?比如:{"val":"8.042","result":1,"name":"Ipm"},这一条数据,我要把8.042插入到表的Ipm这个字段
回复 使用道具 举报
二麻子活字格认证
中级会员   /  发表于:6 天前
5#
这实际上是一个动态SQL,可以在循环里拼接SQL。

循环数组
条件 (若Item.val != null)
设置 value = value&","&Item.val
设置 name = name&","Item.name

执行SQL
insert into YY_Power (name) vaules(value);
回复 使用道具 举报
Simon.Sun活字格认证 Wyn认证
超级版主   /  发表于:6 天前
6#
感谢大佬们的支持,这个结构看上去是把表格的一行记录,按照字段,用数组形式返回了。
可以考虑先遍历数组,把返回的结果还原成一个对象,比如:


这样,我们在保存数据时,就可以用 对象.属性名 去做数据存储。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部