From 681db4a743861f0a6f72ab9ced66ea4a7201ba86 Mon Sep 17 00:00:00 2001 From: Qianqian Fang Date: Fri, 31 Jan 2025 23:00:09 -0500 Subject: [PATCH] [feat] convert a single string variable to a string, without [] --- savejson.m | 2 +- test/run_jsonlab_test.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/savejson.m b/savejson.m index c9789f0..c0d738c 100644 --- a/savejson.m +++ b/savejson.m @@ -289,7 +289,7 @@ %% ------------------------------------------------------------------------- function txt = obj2json(name, item, level, varargin) -if (iscell(item) || isa(item, 'string')) +if (iscell(item) || (isa(item, 'string') && numel(item) > 1)) txt = cell2json(name, item, level, varargin{:}); elseif (isa(item, 'jdict')) txt = obj2json(name, item, level, varargin{:}); diff --git a/test/run_jsonlab_test.m b/test/run_jsonlab_test.m index 26d2dd7..8eb8711 100644 --- a/test/run_jsonlab_test.m +++ b/test/run_jsonlab_test.m @@ -53,7 +53,7 @@ function run_jsonlab_test(tests) test_jsonlab('empty string', @savejson, '', '""', 'compact', 1); test_jsonlab('string escape', @savejson, sprintf('jdata\n\b\ashall\tprevail\t"\"\\'), '"jdata\n\b\ashall\tprevail\t\"\"\\"'); if (exist('string')) - test_jsonlab('string type', @savejson, string(sprintf('jdata\n\b\ashall\tprevail')), '["jdata\n\b\ashall\tprevail"]', 'compact', 1); + test_jsonlab('string type', @savejson, string(sprintf('jdata\n\b\ashall\tprevail')), '"jdata\n\b\ashall\tprevail"', 'compact', 1); test_jsonlab('string array', @savejson, [string('jdata'), string('shall'), string('prevail')], '["jdata","shall","prevail"]', 'compact', 1); end test_jsonlab('empty name', @savejson, loadjson('{"":""}'), '{"":""}', 'compact', 1);