ZF_NAMESPACE_GLOBAL_BEGIN ZFSERIALIZABLEDATA_REFERENCE_TYPE_DEFINE(ZFSerializableDataRefType_xml, serializableData, data, outErrorHintToAppend) { ZFXmlItem xmlElement = ZFXmlParseFirstElement(ZFInputCallbackForFileDescriptor(data)); if(xmlElement.xmlType() == ZFXmlType::e_XmlNull) { ZFSerializableUtil::errorOccurred(outErrorHintToAppend, zfText("failed to load xml element from \"%s\""), data); return zffalse; } return ZFXmlToSerializableData(serializableData, xmlElement); }
ZFOBJECT_CREATOR_DEFINE(ZFObjectCreatorType_xml, data) { ZFXmlItem xmlElement = ZFXmlParseFirstElement(ZFInputCallbackForFileDescriptor(data)); if(xmlElement == zfnull) { return zfautoObjectNull; } ZFSerializableData serializableData; if(ZFXmlToSerializableData(serializableData, xmlElement)) { return ZFObjectFromSerializableData(serializableData); } return zfautoObjectNull; }
ZFOBJECT_CREATOR_DEFINE(ZFObjectCreatorType_json, data) { ZFJsonItem jsonObject = ZFJsonFromInput(ZFInputCallbackForFileDescriptor(data)); if(jsonObject.jsonType() == ZFJsonType::e_JsonNull) { return zfautoObjectNull; } ZFSerializableData serializableData; if(ZFJsonToSerializableData(serializableData, jsonObject)) { return ZFObjectFromSerializableData(serializableData); } return zfautoObjectNull; }
ZF_NAMESPACE_GLOBAL_BEGIN /* * <ZFString myAttr="myAttrValue" > * <zfstring category="value" value="123" /> * <zfstring refType="123" refData="123" /> * </ZFString> * * { * "@ZFString" : [ * { * "@zfstring" : [], * "category" : "value", * "value" : "123" * }, * { * "@zfstring" : [], * "refType" : "123", * "refData" : "123" * } * ], * "myAttr" : "myAttrValue" * } */ #define _ZFP_ZFJsonSerializeKey_classPrefix '@' ZFSERIALIZABLEDATA_REFERENCE_TYPE_DEFINE(ZFSerializableDataRefType_json, serializableData, data, outErrorHintToAppend) { ZFJsonItem jsonObject = ZFJsonFromInput(ZFInputCallbackForFileDescriptor(data)); if(jsonObject.jsonType() == ZFJsonType::e_JsonNull) { ZFSerializableUtil::errorOccurred(outErrorHintToAppend, zfText("failed to load json object from \"%s\""), data); return zffalse; } return ZFJsonToSerializableData(serializableData, jsonObject); }