Clear Filters
Clear Filters

convert struct field in cell array

2 views (last 30 days)
Doctor G
Doctor G on 19 Apr 2016
Edited: James Tursa on 20 Apr 2016
I used a json converter which created a 1x15 cell array (see below) that has a field called objectClass (which is a 1x1 struct with one field (objectCalss.objtype) (a number)
I would like to flatten that one field so that objecClass is not a struct, but the number itself.
A picture is worth a 1,000 words...

Answers (1)

James Tursa
James Tursa on 19 Apr 2016
Do you mean like this:
for k=1:numel(result.objList)
result.objList(k).objectClass = result.objList(k).objectClass.objtype;
end
  3 Comments
Doctor G
Doctor G on 20 Apr 2016
(but I am a C, JavaScript, C#, Python programmer), so this is clear to me. What I hear is that there are map and array operations built into matlab, that might be faster than iteration. But thanks again, this is clear.
James Tursa
James Tursa on 20 Apr 2016
Edited: James Tursa on 20 Apr 2016
There may be some function or combination of functions that can do this, but I doubt you would get any significant speed advantages by using them. The reason is you are manipulating fields of structures, which are variables, not elemental values such as elements of a double array. So even if you could use canned MATLAB functions for this, there would probably be looping code of some sort in the background to accomplish the task much like the for loop above (as opposed to some C/C++ code that would give you a speed advantage like you could get by manipulating elements of a double array).

Sign in to comment.

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!