Save struct field names with hyphens/dash in JSON?
It is quite common to use hyphens/dashes (-) in the field names of JSON, like this:
{
"file-series-version" : "1.0",
"files" : [
{ "name" : "foo1.vtk", "time" : 0 },
{ "name" : "foo2.vtk", "time" : 5.5 },
{ "name" : "foo3.vtk", "time" : 11.2 }
]
}
However, I haven’t found a way to get a hyphen character into the JSON with the JSON encoder https://se.mathworks.com/help/matlab/ref/jsonencode.html as that has to be done through the field names of a struct, incorrectly like this
jsonObj = struct(‘file-series-version’, 1); % This will generate ‘Invalid field name "file-series-version".’
jsonencode(jsonObj)
So, is there any standardized way of creating these kind of JSON objects with the jsonencode function? My alternative would be to use camelCase on the field names, and regex over the JSON-string after encoding to convert them into kebab-case, but that is not a generally good idea.It is quite common to use hyphens/dashes (-) in the field names of JSON, like this:
{
"file-series-version" : "1.0",
"files" : [
{ "name" : "foo1.vtk", "time" : 0 },
{ "name" : "foo2.vtk", "time" : 5.5 },
{ "name" : "foo3.vtk", "time" : 11.2 }
]
}
However, I haven’t found a way to get a hyphen character into the JSON with the JSON encoder https://se.mathworks.com/help/matlab/ref/jsonencode.html as that has to be done through the field names of a struct, incorrectly like this
jsonObj = struct(‘file-series-version’, 1); % This will generate ‘Invalid field name "file-series-version".’
jsonencode(jsonObj)
So, is there any standardized way of creating these kind of JSON objects with the jsonencode function? My alternative would be to use camelCase on the field names, and regex over the JSON-string after encoding to convert them into kebab-case, but that is not a generally good idea. It is quite common to use hyphens/dashes (-) in the field names of JSON, like this:
{
"file-series-version" : "1.0",
"files" : [
{ "name" : "foo1.vtk", "time" : 0 },
{ "name" : "foo2.vtk", "time" : 5.5 },
{ "name" : "foo3.vtk", "time" : 11.2 }
]
}
However, I haven’t found a way to get a hyphen character into the JSON with the JSON encoder https://se.mathworks.com/help/matlab/ref/jsonencode.html as that has to be done through the field names of a struct, incorrectly like this
jsonObj = struct(‘file-series-version’, 1); % This will generate ‘Invalid field name "file-series-version".’
jsonencode(jsonObj)
So, is there any standardized way of creating these kind of JSON objects with the jsonencode function? My alternative would be to use camelCase on the field names, and regex over the JSON-string after encoding to convert them into kebab-case, but that is not a generally good idea. json hyphen dash MATLAB Answers — New Questions