使用Javascript订购JSON

Dan*_*lho 2 javascript sorting json

考虑到我有以下JSON,我怎么能生成另一个JSON,按字段排序(让我们说anoCobranca)?

{
  "extratos": [
    {
      "descricao":         "product A",
      "anoCobranca":       2012,
      "mesCobranca":       01,
      "nomeMesCobranca":   "Janeiro",
      "diaUsoInicial":     1,
      "diaUsoFinal":       30,
      "valor":             "236.81",
      "vencimento":        "24/01/2012",
      "formaPagamento":    "Cartão",
      "situacao": "ok"
    },
    {
      "descricao":         "product B",
      "anoCobranca":       2012,
      "mesCobranca":       2,
      "nomeMesCobranca":   "Fevereiro",
      "diaUsoInicial":     1,
      "diaUsoFinal":       29,
      "valor":             "249.81",
      "vencimento":        "24/02/2012",
      "formaPagamento":    "-",
      "situacao":          "aberto"
    },
    {
      "descricao":         "product 1",
      "anoCobranca":       2012,
      "mesCobranca":       3,
      "nomeMesCobranca":   "Março",
      "diaUsoInicial":     1,
      "diaUsoFinal":       31,
      "valor":             "339.11",
      "vencimento":        "24/03/2012",
      "formaPagamento":    "Cartão",
      "situacao":          "ok"
    },
    {
      "descricao":         "product D",
      "anoCobranca":       2011,
      "mesCobranca":       4,
      "nomeMesCobranca":   "Abril",
      "diaUsoInicial":     1,
      "diaUsoFinal":       30,
      "valor":             "119.18",
      "vencimento":        "24/04/2012",
      "formaPagamento":    "Cartão",
      "situacao":          "ok"
    },
    {
      "descricao":         "product E",
      "anoCobranca":       2011,
      "mesCobranca":       5,
      "nomeMesCobranca":   "Maio",
      "diaUsoInicial":     1,
      "diaUsoFinal":       30,
      "valor":             "81.29",
      "vencimento":        "24/05/2012",
      "formaPagamento":    "-",
      "situacao":          "aberto"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试了一些技巧,如:

function sortJSON(a,b){
  return parseInt(a.json.extratos.anoCobranca - b.json.extratos.anoCobranca)
}
Run Code Online (Sandbox Code Playgroud)

还有我在这里找到的其他一些,在StackOverflow,但所有这些都失败了.

Yan*_*hon 5

使用回调函数对数组进行排序:

obj.extratos.sort(function(a, b) {
  return a.anoCobranca - b.anoCobranca;
});
Run Code Online (Sandbox Code Playgroud)