gpt4 book ai didi

struct - 如何从 Coldfusion 的结构中删除键/值对?

转载 作者:行者123 更新时间:2023-12-05 01:15:44 36 4
gpt4 key购买 nike

(使用Coldfusion8/MySQL5.0.88)

我将 JSON 字符串存储在数据库中。字符串由 id 组成(key) 和多个items在列表(值)中。

值如下所示:

LOCAL.dropRecall = {"994323":"596895,596871,596864,596888,596840abc,596833,596826","991234":"9999,8888,abced"}

我的问题是试图删除 key/value一对。我正在尝试这样:
<cfif  StructKeyExists(LOCAL.dropRecall,"#Session.id#")>
<cfdump output="e:\dump.txt" label="catch" var="detected">
<cfset StructDelete( LOCAL.dropRecall,"#Session.id#", "true")>
</cfif>

正确检测键/值对(报告 detected),但删除它不起作用。

问题:
我究竟做错了什么?为什么键/值对没有被删除?

编辑 :
好的。找到了。我在数据库中查询了字段 items ,将其设置为 LOCAL.dropRecall并写道 items回到数据库...所以 structDelete工作,但我没有将空结构写回数据库。

最佳答案

检查 session.id 的值就是你认为的那样(没有额外的空格或类似的东西)。如果你的代码在 CF8 上,我尝试了修改,它对我来说很好用:

<cfset variables.id = 991234>
<cfset LOCAL.dropRecall = deserializeJson('{"994323":"596895,596871,596864,596888,596840abc,596833,596826","991234":"9999,8888,abced"}')>
<cfset LOCAL.safeCopy = duplicate(LOCAL.dropRecall)>

<cfif StructKeyExists(LOCAL.dropRecall,"#variables.id#")>
<cfset StructDelete( LOCAL.dropRecall,"#variables.id#", "true")>
</cfif>
<cfdump var="#LOCAL#">

该代码对您不起作用吗?

关于struct - 如何从 Coldfusion 的结构中删除键/值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13709660/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com