Jquery Json数组不工作
我有一个json文件,如下所示。我使用的是jQuery1.10.1Jquery 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"
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中的每个数据对产品列表进行排序吗?如果我错了,请纠正我。