Jquery Json数组不工作

Jquery Json数组不工作,jquery,json,Jquery,Json,我有一个json文件,如下所示。我使用的是jQuery1.10.1 var jsonData = [ { "data": [ { "image": "Content/Uploads/f1d59b7e-c93a-4419-94a6-6514d1c2384.jpg", "textstyles": { "pricecolour": "FFF", "checkincolour": "222"

我有一个json文件,如下所示。我使用的是jQuery1.10.1

    var jsonData =
  [
  {
    "data": [
      {
        "image": "Content/Uploads/f1d59b7e-c93a-4419-94a6-6514d1c2384.jpg",
        "textstyles": {
          "pricecolour": "FFF",
          "checkincolour": "222"
        },
        "products": [
          {
            "product": "Product-1",
            "price": "55776"
          },
          {
            "product": "Product-2",
            "price": "24776"
          }
        ]
      }
    ]
  }
];
我使用此代码在data=>products下按价格进行排序

    function SortJsonData(prop, asc, jsonData) {
            jsonData = jsonData.sort(function (a, b) {
                if (asc) return (a[prop] > b[prop]);
                else return (b[prop] > a[prop]);
            });
            return jsonData;
    }

$(document).ready(function () {
        SortJsonData('price', true, jsonData);
});
但不排序,随机写


我需要按产品json字符串的价格排序。如何编写此代码?

我认为下面这行代码可以解决您的问题

function sortJsonData(prop, asc, json) {
            json = json.sort(function (a, b) {
                if (asc) 
                    return a[prop] - b[prop];
                else
                    return b[prop] - a[prop];
            });
            return json;
    }
并像下面那样调用函数,因为您只希望对JSON中要排序的产品部分进行排序,所以只将该部分传递给函数调用

$(document).ready(function () {
    sortJsonData('price',true,jsonData.data[0].products);
});
现在打印原始jsonData。您将看到一个排序列表

console.log(jsonData.data[0].products);

首先,谢谢你。是的,你说得对,我只看到排序列表。但我需要所有分类产品的jsonData。我该怎么做?你的JSON修复结构是什么?据我所知,jsonData可能包含多个数据,每个数据仅包含三个对象(图像、文本样式、产品)。您想只根据jsonData中的每个数据对产品列表进行排序吗?如果我错了,请纠正我。