我想按“createdAt”对JSON文件中的值进行排序,并在plot函数中使用这些值。正如您所看到的,此列存储日期值,因此我已经转换了它。我已经应用了sort函数,但当我看到数据的输出时,似乎sort不适用。
data = loadjson('C:/data/default.json');
count_data = sum(cellfun(@(x) numel(x),data.Location)); %returns 21
for i=1:count_data
createdAt= cellfun( @(cellElem) cellElem.createdAt, data.Location ,'UniformOutput',false);
createdAtDate= datetime(createdAt(i),'InputFormat','dd-MM-yyyy HH:mm:ss','Format', 'dd-MM-yyyy n HH:mm:ss');
[~,X] = sort(createdAtDate,'descend');
out=data(X);
end
for i=1:count_data
x = cellfun( @(cellElem) cellElem.createdAt, out.Location,'UniformOutput',false);
disp(x);
end
字符串
我的JSON文件:
"Location": [
{
"id": "0b5965e5-c509-4522-a525-8ef5a49dadaf",
"measureId": "5a6e9b79-dbb1-4482-acc1-d538f68ef01f",
"locationX": 0.9039769252518151,
"locationY": 0.2640594070404616,
"createdAt": "06-01-2021 19:38:44"
},
{
"id": "18714a2f-a8b3-4dc6-8a5b-114497fa9671",
"measureId": "671f52bc-a066-494a-9dce-6e9ccfac6c1d",
"locationX": 1.5592001730078755,
"locationY": 0.5207689756815629,
"createdAt": "06-01-2021 19:35:24"
},
型
先谢了。
1条答案
按热度按时间n53p2ov01#
您需要提取所需的所有数据,然后进行排序
即
字符串
另一种选择是使用表
型
在这里,您必须使用表而不是矩阵(尽管
sortrows
可以接受任何一种),因为跨列的数据类型是混合的。