映射json值

时间:2017-10-06 11:59:55

标签: angular http

当我做一个http.get时,我得到一个像这样的jsonObject:

 "rights": [
    "VIEW_1",
    "VIEW_2",
    "VIEW_5",
AND LIKE 300 more]

我只想知道VIEW 1,2和5在这个数组中。我正在考虑将其映射到一个界面,但我不知道如何仅映射值。

BR

1 个答案:

答案 0 :(得分:0)

所以你要转

"rights": [
  "VIEW_1",
  "VIEW_2",
  "VIEW_5",
  ...]

成像:

"rights": {
    "View1": true,
    "View2": true,
    "View3": true
 }

权利是接口Rights的哪个位置?如果是这样,它是一个非常简单的接口定义。以下是typescript documentation

的示例界面
interface SquareConfig {
    color?: string;
    width?: number;
}

你会想要一个代表你的三个布尔人。 (我不会为你做这件事!)。

棘手的事情是将数组转换为该对象。你提到了地图'如果你引用了JavaScript map function,这是行不通的。它遍历并对数组中的每个项执行转换。你不想改变这些物品,还有那些你想要扔掉的物品。

您需要做的是搜索以获取阵列中的这些项目。您可以使用for循环执行此操作,这将是最快的。但您也可以使用find function。这个问题是你必须做3次(并且每个人都会循环遍历数组)所以它的效率低于仅仅循环自己一次,但是寻找所有这三个。