我在API中复制数据了吗?

时间:2014-03-15 02:14:47

标签: json api

我的成绩点百分比对象使用不同的键保持相同的成绩值。请看下面我的json,如果我做得对,请告诉我。有没有办法优化这个API?

我可以在逗号“a1”之后提供百分比和成绩点:“10,90”但这样我需要将它们分开客户端JS,我正在限制它。

{
  "gradepoints": [
    {
      "a1": 10
    },
    {
      "a1": 10
    },
    {
      "c2": 5
    },
    {
      "e1": "eiop"
    },
    {
      "d": 4
    },
    {
      "b1": 8
    }
  ],
  "percents": [
    {
      "a1": 90
    },
    {
      "a1": 90
    },
    {
      "c2": 45
    },
    {
      "e1": "eiop"
    },
    {
      "d": 36
    },
    {
      "b1": 72
    }
  ],
  "gpa": 7.4,
  "overall": 70.3,
  "eiop": 2
}

1 个答案:

答案 0 :(得分:1)

我会这样做:

{
    grades: [
        {   name: "a1",
            gradepoint: 10,
            percent: 90
        },
        {   name: "a1",
            gradepoint: 10,
            percent: 90
        },
        {   name: "c2",
            gradepoint: 5,
            percent: 45
        },
        ...
    ],
    gpa: 7.4,
    overall: 70.3,
    eiop: 2
}

相关数据应该保存在一个对象中。

如果不是重复的a1条目,我可能会将grades作为对象,名称为键。但是一个对象不能有重复的键,所以它必须放在值中。