当前位置: 首页 > 知识库问答 >
问题:

将看起来简单的值字符串转换为ColdFusion结构的json

华俊弼
2023-03-14

我在ColdFusion脚本中执行以下操作:

svc = new http();
svc.setMethod('post');
svc.setCharset('utf-8');
svc.setUrl('https://api.stripe.com/v1/charges');
svc.addParam(type='header', name='Authorization', value='Bearer #Stripe.mySecretKey#');
svc.addParam(type='formfield', name='amount', value=form.amount);
svc.addParam(type='formfield', name='currency', value='usd');
svc.addParam(type='formfield', name='card', value='#form.card#');
svc.addParam(type='formfield', name='description', value='#form.email#');
prefix = svc.send().getPrefix();
response = prefix.FileContent;
WriteOutput(response & '<br>');
WriteOutput(IsSimpleValue(response) & '<br>');
WriteOutput(IsJSON(response));
dump(response);

我得到一个字符串,看起来像这样:

{“id:”CHU 6HAwRK92OsQPoA“,”object:”charge“,”created“,”143249035“,”livemode“,”false“,”Pad“,”true“,”status“,”Pad“,”amount“,”100“,”currency“,”usd“,”Returned“,”false“,”source“,”id:”card“,”card“,”last4“:”4242“,”品牌“,”Visa“,”资金“,”信用“,”exp“,”exp月“,”12,“exp年“,”2015“,”指纹“:”I2NSF7GS79J9ZHE,“address_line1”:null,“address_line2”:null,“address_city”:null,“address_state”:null,“address_zip”:null,“address_country”:null,“cvc_check”:“pass”,“address_line1_check”:null,“address_zip_check”:null,“dynamic_last4”:null,“metadata”:{},“customer”:null,“captured”:true,“卡”:“{”id:“卡”;“对象”;“卡”;“最后4”;“4242”;“品牌”;“签证”;“资金”;“信用”;“出口月”;“出口年”;“指纹”;“I2nSF7gS79j9Zhei”;“国家”;“美国”;“姓名”;“空”;“地址线1:“空”;“地址城市”;“空”;“地址州”;“空”;“地址邮政编码”;“空”;“地址国”;“空”;“cvc支票”;“通过”;“地址线1检查”:null,“地址邮政支票”:null,“动态邮政支票”:null,“元数据”:{},“客户”:null},“余额交易”:“txn_6haw4bauz6tra”,“失败消息”:null,“失败代码”:null,“退款金额”:0,“客户”:null,“发票”:null,“说明”:”PhillipSenn@gmail.com“,”争议“:null,”元数据“:{},“声明描述符“:null,”欺诈详细信息“{},“收据”电子邮件“:null,”收据编号“:null”,发货“:null”,目的地“:null”,申请费“:null”,退款“{”对象“:”列表“,”总数“:0,“有更多“:false”,“url:”/v1/charges/ch_6HAwRK92OsQPoA/returns”,“数据“:[]}”

以及“是”和“是”。

如果我做一个DeserializeJSON(响应),那么我得到一个500错误。

那么,我该如何将这个看起来像json的简单值字符串放入ColdFusion结构中,以便引用响应。身份证和回复。支付?

共有1个答案

彭阳荣
2023-03-14

CF或web服务器设置有问题。

我在tryCF上用CF11测试了你的json,效果很好。

<cfscript>

json = '{ "id": "ch_6HAwRK92OsQPoA", "object": "charge", "created": 1432149035, "livemode": false, "paid": true, "status": "paid", "amount": 100, "currency": "usd", "refunded": false, "source": { "id": "card_6HAwNGtbdzFdq0", "object": "card", "last4": "4242", "brand": "Visa", "funding": "credit", "exp_month": 12, "exp_year": 2015, "fingerprint": "I2nSF7gS79j9Zhei", "country": "US", "name": null, "address_line1": null, "address_line2": null, "address_city": null, "address_state": null, "address_zip": null, "address_country": null, "cvc_check": "pass", "address_line1_check": null, "address_zip_check": null, "dynamic_last4": null, "metadata": {}, "customer": null }, "captured": true, "card": { "id": "card_6HAwNGtbdzFdq0", "object": "card", "last4": "4242", "brand": "Visa", "funding": "credit", "exp_month": 12, "exp_year": 2015, "fingerprint": "I2nSF7gS79j9Zhei", "country": "US", "name": null, "address_line1": null, "address_line2": null, "address_city": null, "address_state": null, "address_zip": null, "address_country": null, "cvc_check": "pass", "address_line1_check": null, "address_zip_check": null, "dynamic_last4": null, "metadata": {}, "customer": null }, "balance_transaction": "txn_6HAw4bAUUZ6trA", "failure_message": null, "failure_code": null, "amount_refunded": 0, "customer": null, "invoice": null, "description": "PhillipSenn@gmail.com", "dispute": null, "metadata": {}, "statement_descriptor": null, "fraud_details": {}, "receipt_email": null, "receipt_number": null, "shipping": null, "destination": null, "application_fee": null, "refunds": { "object": "list", "total_count": 0, "has_more": false, "url": "/v1/charges/ch_6HAwRK92OsQPoA/refunds", "data": [] } }';

writeOutput(isJSon(json));
writeDump(DeserializeJSON(json));

</cfscript>

运行:http://trycf.com/gist/cb798ff697ac80396284/acf11

 类似资料:
  • 我有一个具有如下架构的数据帧 我已经有了上面的结果。 我想使用火花scala转换如下架构 请帮忙

  • 我将python3和Nmap用于smb-os发现。nse脚本获取有关网络中endpoint的详细信息。特别是主机名。当主机名包含非ascii字符时,我会收到类似utf-8的字符串,如下所示: 我想要的是将此字符串转换为真正的utf-8(编码或解码,没关系),如下所示: 我尝试了以下方法,但没有成功: 据我所知,问题在于脚本的输出以解码python字符串的形式给我utf-8编码字符。 可以自动转换吗

  • 问题内容: 我想将NSAttributedString转换为html,如下所示: 不幸的是,如果您使用Apple的内置系统,它将生成基于CSS的详细html。(以下示例仅供参考。) 那么如何从NSAttributedString生成简单的带标签的html? 我写了一个非常冗长,脆弱的电话来做,这是一个糟糕的解决方案。 因此,这是使用Apple内置系统的方法,该系统不幸地生成了完整的CSS等。 输出

  • 问题内容: 我一直在寻找将Swift中一个相当简单的JSON字符串转换为对象类型但无济于事的日子。 这是Web服务调用的代码: 我有一个快速的结构Business.swift: 这是我部署的测试服务: 如果有人通过这个指导我会很高兴。 谢谢。 问题答案: 这里有一些技巧,以简单的例子开始。 考虑您具有以下JSON Array String(类似于您的): [编辑] 摆脱null更改为: 另请参阅

  • 如何将字符串值转换为整数,并将转换后的值乘以整数,这样我就可以得到300.00的结果。见下面的例子- 如果我像这样编码,那么我就会出错-

  • 我的一个数据帧(spark.sql)有这个模式。 我需要将其保存到CSV文件,但不使用任何扁平化,以以下格式分解。 我直接使用了命令 ,这符合我的目的,但我需要一个更好的方法。我正在使用派斯帕克