问题标签 [bs-json]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
json - 将 JSON 字段转换为 ReasonML 变体
我有一个 JSON 结构,其中包含一个period
可以是对象或字符串的字段。我的代码中已经准备好变体,并且工作正常:
问题是当我尝试将输入 JSON 转换为变体类型时:我根本不知道该怎么做。这是我的尝试的样子:
现在,这当然行不通,因为我正在尝试匹配仍然属于 my 一部分的类型的东西Js.Json.t
,String
但periodVariant
我不知道如何实现我想要的。
reason - 使用 bs-json 在 root 中使用动态键解码对象
我正在尝试将以下 JSON 对象解码为 Reason 对象。
{"AAPL":{"price":217.36}}
对象根中的键是动态的。
以下一般示例在密钥不在根目录中时有效。我将如何更改它以使其适用于根目录中的动态键?
module - Json.Decode.{} 是什么意思?点花括号部分
我正在尝试学习 ReasonML 并按照 bs-json 的示例,我们可以将原始 json 解码为如下类型:
我有点困惑这Json.Decode.{ ... }
是什么。我知道我们可以使用点括号将范围打开到模块.()
中,但我以前没有见过这个点花括号。
json - 如何在 ReasonML 中解码 GeoJson?
请评论如何在 ReasonML 中解码 GeoJson 文件?我尝试在解码器中解码没有“字段纬度和经度”的坐标,但我找不到任何信息如何解析 JSON 文件中的字段坐标。
GeoJson 文件
ReasonML 中的 JsonDecoder (bs-json)
reason - 如何将 Js.Json.t 转换为 Js.t('a)?
我已经通过 bs-json 编码了一个对象,并希望使用 bs-axios 通过 post 将其作为数据发送。
p |> Data.encodeToBuyListItem
是红色的。如何将该Js.Json.t
值用作发布请求的数据?
编辑:
好吧,这行得通:
但我更喜欢非hacky解决方案(最好使用bs-json,因为我正在使用它来解码JSON)......
reason - 如何在 ReasonML 中读取带有未知键的 JSON?
我正在编写一个简单的应用程序,显示来自Dog API的狗图像。我用 bs-json 把它做成记录,以后再用。品种列表可通过 API 获取。响应看起来像这样。
所以密钥在编译时是未知的。如果我一个一个添加,那将是某种硬编码。我只想要品种而不是亚品种。如果可能的话,我想要一个数组。
json - 有没有办法使用 bs-json 对大于 32 位的整数值进行编码?
我一直在使用字符串来表示大于 32 位的解码 JSON 整数。似乎string_of_int
能够处理大整数输入。所以一个解码器,编写(在 Json.Decode 命名空间中):
成功处理至少 37 位的整数。
另一方面,编码对我来说很麻烦。远程服务器不接受字符串表示,并且需要一个 int64。是否可以bs-json
支持int64
类型?我希望可以使这样的事情起作用:
不得不滚动我自己的编码器并不像解码器那样强大,但是......我宁愿不这样做。
json - 如何解码类似的 JSON 结构?
我正在使用@glennsl 的bs-json
模块来解码一些 JSON 响应,但是所有 JSON 响应除了它们独特的有效负载之外还有一些公共字段。此外,JSON 响应(通过 XMLHTTPRequest)根据它们是否成功而有所不同:它们不包含该'body
元素。
我想知道是否有一种方法可以创建方法来采用通用格式的解码器。我的想法是这样的:
有没有办法在reasonml中制作模板方法?或者,应该只将类型包装'body
在一个option
元素中并optional()
在field()
调用中使用?