-void SerializeJson(StrBuf *Target, JsonValue *Val)
+void SerializeJson(StrBuf *Target, JsonValue *Val, int FreeVal)
{
void *vValue, *vPrevious;
JsonValue *SubVal;
StrBufAppendBufPlain(Target, HKEY(","), 0);
SubVal = (JsonValue*) vValue;
- SerializeJson(Target, SubVal);
+ SerializeJson(Target, SubVal, 0);
vPrevious = vValue;
}
StrBufAppendBufPlain(Target, HKEY("]"), 0);
StrBufAppendBuf(Target, SubVal->Name, 0);
StrBufAppendBufPlain(Target, HKEY("\":"), 0);
- SerializeJson(Target, SubVal);
+ SerializeJson(Target, SubVal, 0);
vPrevious = vValue;
}
StrBufAppendBufPlain(Target, HKEY("}"), 0);
break;
}
-
+ if(FreeVal) {
+ DeleteJSONValue(Val);
+ }
}