From 6a0df7ae499e6582bcd2f9b1616dcc8449123cfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Thu, 26 Oct 2023 14:06:47 +0800 Subject: [PATCH] Migration: simplify json result --- src/common/commandoption.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/common/commandoption.c b/src/common/commandoption.c index 262675cba..c68ae3b6f 100644 --- a/src/common/commandoption.c +++ b/src/common/commandoption.c @@ -18,14 +18,21 @@ static inline yyjson_mut_val* genJsonConfig(FFModuleBaseInfo* baseInfo) if (!modules) modules = yyjson_mut_obj_add_arr(doc, doc->root, "modules"); - yyjson_mut_val* module = yyjson_mut_arr_add_obj(doc, modules); - FF_STRBUF_AUTO_DESTROY type = ffStrbufCreateS(baseInfo->name); - ffStrbufLowerCase(&type); - yyjson_mut_obj_add_strbuf(doc, module, "type", &type); - + yyjson_mut_val* module = yyjson_mut_obj(doc); if (baseInfo->generateJsonConfig) baseInfo->generateJsonConfig(baseInfo, doc, module); + FF_STRBUF_AUTO_DESTROY type = ffStrbufCreateS(baseInfo->name); + ffStrbufLowerCase(&type); + + if (yyjson_mut_obj_size(module) > 0) + { + yyjson_mut_obj_add_strbuf(doc, module, "type", &type); + yyjson_mut_arr_add_val(modules, module); + } + else + yyjson_mut_arr_add_strbuf(doc, modules, &type); + return module; }