首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用bs-json在根目录中解码具有动态键的对象

使用bs-json在根目录中解码具有动态键的对象
EN

Stack Overflow用户
提问于 2018-10-16 04:53:40
回答 1查看 264关注 0票数 4

我正在尝试将下面的JSON对象解码为一个原因对象。

{"AAPL":{"price":217.36}}

对象根中的键是动态的。

下面的一般示例在键不在根时工作。我将如何更改它,使其工作在根中的动态键?

代码语言:javascript
复制
module Decode = {
    let obj = json =>
    Json.Decode.{
      static: json |> field("static",string),
      dynamics: json |> field("dynamics", dict(int)),
    };
};
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-16 09:19:14

如果您的数据如下所示:

代码语言:javascript
复制
let data = {| {
  "AAPL": { "price": 217.36 },
  "ABCD": { "price": 240.5 }
} |};

您可以使用以下内容获得一个Js.Dict

代码语言:javascript
复制
module Decode = {
  open Json.Decode;
  let price = field("price", float);
  let obj = dict(price);
};

let decodedData = data |> Json.parseOrRaise |> Decode.obj;

let _ = decodedData->(Js.Dict.unsafeGet("AAPL")) |> Js.log;

它应该打印217.36

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52828145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档