Hello,
I would like to sort my JSON data order by "createdAt" column.
But it gives an error "Index exceeds the number of array elements (1)."
data = loadjson('C:/data/default.json');
[~,X] = sort(cellfun(@(cellElem) cellElem.createdAt, data.Location,'UniformOutput',false));
data = data(X);
count_data = sum(cellfun(@(x) numel(x), data.Location));

 採用された回答

Yunus HAZNEDAR
Yunus HAZNEDAR 2021 年 1 月 12 日

0 投票

I've tried like this and it's working now.
x = cellfun( @(cellElem) cellElem.locationX, data.Location );
y = cellfun( @(cellElem) cellElem.locationY, data.Location );
% Get date strings
d = cellfun( @(cellElem) cellElem.createdAt, data.Location, 'UniformOutput', false)
% Convert to datetime
d = datetime( d, 'InputFormat', 'dd-MM-yyyy HH:mm:ss' );
% Get the sort order
[~,idx] = sort( d );
% Sort other arrays
x = x(idx);
y = y(idx);

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by