首页 > 解决方案 > 按降序格式化 JSON

问题描述

在下面的 json 文件中,我想按降序对 docs 字段中的内容进行排序。有两个块。数据是动态的,这意味着可以有多个块——在文档中可以是 5 个,也可以是 10 个这样的块。

{
"Scoring":1.68466776,
"_text_":[
],
"id":"health_analytics.pdf",
"jac_Score":0.07370184254606366,
"matchScore":0.65,
"scaledTf_idf":0.0,
"searchTerm":[
"Machine learning",
"Deep learning",
"R",
"Python",
"Sas"
],
"sortingScore":59.78
}

和,

{
    "Scoring":2.029842275,
    "_text_":[
    ],
    "id":"customer_channel_analytics_bang.pdf",
    "jac_Score":0.09041591320072333,
    "matchScore":0.6875,
    "scaledTf_idf":0.0,
    "searchTerm":[
    "Machine learning",
    "Deep learning",
    "Sas",
    "R"
    ],
    "sortingScore":44.03
    },

我想使用 Sortingscoring 对其进行排序,这是文档中的字段之一。应该对文档中的整个块(在这种情况下有两个)进行排序。因此,排序后的最终 json 应该如下所示。我 在 javascript 中提到了一些 stackoverflow 链接对 json 对象进行排序, 但无法获取它。

{
"statusCode":200,
"body":{
"docs":[
{
"Scoring":2.029842275,
"_text_":[
],
"id":"customer_channel_analytics_bang.pdf",
"jac_Score":0.09041591320072333,
"matchScore":0.6875,
"scaledTf_idf":0.0,
"searchTerm":[
"Machine learning",
"Deep learning",
"Sas",
"R"
],
"sortingScore":44.03
},
{
"Scoring":1.68466776,
"_text_":[
],
"id":"health_analytics.pdf",
"jac_Score":0.07370184254606366,
"matchScore":0.65,
"scaledTf_idf":0.0,
"searchTerm":[
"Machine learning",
"Deep learning",
"R",
"Python",
"Sas"
],
"sortingScore":59.78
}
]
}
}

标签: javascriptjsonsorting

解决方案


试试这个

var a = {
      "Scoring":2.029842275,
      "_text_":[
      ],
      "id":"customer_channel_analytics_bang.pdf",
      "jac_Score":0.09041591320072333,
      "matchScore":0.6875,
      "scaledTf_idf":0.0,
      "searchTerm":[
      "Machine learning",
      "Deep learning",
      "Sas",
      "R"
      ],
      "sortingScore":44.03
  }
var b = {
      "Scoring":1.68466776,
      "_text_":[
      ],
      "id":"health_analytics.pdf",
      "jac_Score":0.07370184254606366,
      "matchScore":0.65,
      "scaledTf_idf":0.0,
      "searchTerm":[
      "Machine learning",
      "Deep learning",
      "R",
      "Python",
      "Sas"
      ],
      "sortingScore":59.78
}
var c = [ {a},{b}]
console.log(a.id)
console.log(b.id)
console.log(c.sort(function(a, b){
    return a - b;
}));

推荐阅读