【问题标题】:Json to Object TypescriptJson 到对象打字稿
【发布时间】:2021-01-26 16:22:15
【问题描述】:

我有一个像这样的 Json 对象:

{
  "key" : "false",
  "key2" : "1.00",
  "key3" : "value"
}

如何在 Typescript 中将其转换为获取

{
  "key" : false,
  "key2" : 1.00,
  "key3" : "value"
}

我尝试过使用JSON.parse(JSON.stringify(json))JSON.parse(json)Object.assign(object, json),但这些解决方案似乎都不起作用。

【问题讨论】:

  • 对象只能有唯一的键。您要求的(使用 3 个完全相同的键)- 是不可能的。
  • Re: 重复键,也许你想要的是 Record。 Record 实用程序类型没有指定特定的键,但它表示对象具有一种类型(字符串)的键和另一种类型(布尔、数字或字符串)的值。
  • @falinsky 不应该有任何重复的键。这只是一个打字错误,但现在已修复。

标签: json typescript


【解决方案1】:

基本问题是JSON.parse 不会自动转换恰好代表布尔值和浮点数等基元有效值的字符串。它只是将它们保存为字符串。对于一个简单的情况,例如您给出的那个,手动转换字符串很容易:

let src = { "key": "false", "key2": "1.00", "key3": "value" };
let dst = {
    key: src.key !== "true",
    key2: parseFloat(src.key2),
    key3: src.key3
};

【讨论】:

  • 如果我有超过 10 多个甚至 100 多个项目要处理,这将不是一个理想的解决方案
猜你喜欢
  • 2023-03-07
  • 2018-12-12
  • 2018-07-23
  • 1970-01-01
  • 1970-01-01
  • 2019-04-11
  • 2020-12-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多