【问题标题】:Chilkat json outputs decimal numbers with commaChilkat json 输出带逗号的十进制数
【发布时间】:2021-04-14 09:43:35
【问题描述】:

在 chilkat activeX(我的版本:9.5.0.86)中,当我创建具有数字属性的对象时,.emit() 方法返回带有数字的 JSON 字符串,其中小数部分用逗号分隔。这取决于我的区域设置 here in Control panel。但这不应该依赖于此,因为这个 JSON RFC:https://www.ietf.org/rfc/rfc4627.txt 说数字必须始终用点分隔。

此代码(在 VFP 中)

oJson = CreateObject('Chilkat_9_5_0.JsonObject')
oJson.AddNumberAt(-1,"test1", 12.3)
?oJson.Emit()

当我在设置中设置逗号时,此代码的输出为: {"test1":12,3}

当我设置点时,输出是: {"test1":12.3}

有没有办法设置 chilkat,总是用点来获取数字? 看来,问题出在 AddNumberAt 方法上,因为当我使用 load 方法获取 json 时

【问题讨论】:

标签: json visual-foxpro chilkat


【解决方案1】:

UpdateNumber 的第二个参数应该是一个字符串。 见https://chilkatsoft.com/refdoc/xChilkatJsonObjectRef.html#method81

您传递了一个浮点数,该浮点数被您的编程语言强制转换为字符串,而强制是导致使用逗号的原因。

【讨论】:

  • 为什么强制使用逗号?它如何依赖于它所使用的编程语言。您在哪里看到强制使用逗号的编程语言?文档说“AddNumberAt(ByVal index As Long,name As String,numericStr As String)As Long”,将字符串用于数字是相当奇怪的。
猜你喜欢
  • 2017-07-13
  • 1970-01-01
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 2015-09-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多