diff --git a/LightJSonBuilder.cpp b/LightJSonBuilder.cpp index 53c732f..d7d6251 100644 --- a/LightJSonBuilder.cpp +++ b/LightJSonBuilder.cpp @@ -390,10 +390,10 @@ BOOL CLightJSonBuilder::AddObjectLongLong(_In_z_ LPCSTR szNameA, _In_ LONGLONG n return FALSE; if (EscapeString(cStrJsonA, szNameA, StrLenA(szNameA), TRUE) == FALSE) return FALSE; - return cStrJsonA.AppendFormat("\": \"%I64d\"", nValue); + return cStrJsonA.AppendFormat("\": %I64d", nValue); } -BOOL CLightJSonBuilder::AddObjectULongLong(_In_z_ LPCSTR szNameA, _In_ ULONGLONG nValue, _In_opt_ BOOL bAsHexa) +BOOL CLightJSonBuilder::AddObjectULongLong(_In_z_ LPCSTR szNameA, _In_ ULONGLONG nValue) { MX_ASSERT(szNameA != NULL); MX_ASSERT(*szNameA != 0); @@ -416,7 +416,7 @@ BOOL CLightJSonBuilder::AddObjectULongLong(_In_z_ LPCSTR szNameA, _In_ ULONGLONG return FALSE; if (EscapeString(cStrJsonA, szNameA, StrLenA(szNameA), TRUE) == FALSE) return FALSE; - return cStrJsonA.AppendFormat(((bAsHexa == FALSE) ? "\": \"%I64u\"" : "\": \"0x%016I64X\""), nValue); + return cStrJsonA.AppendFormat("\": %I64u", nValue); } BOOL CLightJSonBuilder::AddObjectObject(_In_z_ LPCSTR szNameA, _In_ CLightJSonBuilder &cSrc) @@ -622,10 +622,10 @@ BOOL CLightJSonBuilder::AddArrayLongLong(_In_ LONGLONG nValue) } //insert text - return cStrJsonA.AppendFormat("\"%I64d\"", nValue); + return cStrJsonA.AppendFormat("%I64d", nValue); } -BOOL CLightJSonBuilder::AddArrayULongLong(_In_ ULONGLONG nValue, _In_opt_ BOOL bAsHexa) +BOOL CLightJSonBuilder::AddArrayULongLong(_In_ ULONGLONG nValue) { MX_ASSERT(aNestedTypes.GetCount() > 0); MX_ASSERT(aNestedTypes.GetElementAt(aNestedTypes.GetCount() - 1) == _IS_ARRAY); @@ -642,7 +642,7 @@ BOOL CLightJSonBuilder::AddArrayULongLong(_In_ ULONGLONG nValue, _In_opt_ BOOL b } //insert text - return cStrJsonA.AppendFormat((bAsHexa == FALSE) ? "\"%I64u\"" : "\"0x%016I64X\"", nValue); + return cStrJsonA.AppendFormat("%I64u", nValue); } BOOL CLightJSonBuilder::AddArrayObject(_In_ CLightJSonBuilder &cSrc) diff --git a/LightJSonBuilder.h b/LightJSonBuilder.h index 6dbba3c..ae24b79 100644 --- a/LightJSonBuilder.h +++ b/LightJSonBuilder.h @@ -51,10 +51,10 @@ class CLightJSonBuilder : public CBaseMemObj, public CNonCopyableObj BOOL AddObjectString(_In_z_ LPCSTR szNameA, _In_ PUNICODE_STRING Value); BOOL AddObjectLong(_In_z_ LPCSTR szNameA, _In_ LONG nValue); BOOL AddObjectULong(_In_z_ LPCSTR szNameA, _In_ ULONG nValue, _In_opt_ BOOL bAsHexa = FALSE); - //IMPORTANT: Stored as strings because ECMA-262 Sec 8.5 states max number is 9007199254740990 + //IMPORTANT: ECMA-262 Sec 8.5 states max number is 9007199254740990 so, if larger, it is recommended to store it as string + // to maximize compatibility, mainly, with javascript. BOOL AddObjectLongLong(_In_z_ LPCSTR szNameA, _In_ LONGLONG nValue); - //IMPORTANT: Stored as strings because ECMA-262 Sec 8.5 states max number is 9007199254740990 - BOOL AddObjectULongLong(_In_z_ LPCSTR szNameA, _In_ ULONGLONG nValue, _In_opt_ BOOL bAsHexa = FALSE); + BOOL AddObjectULongLong(_In_z_ LPCSTR szNameA, _In_ ULONGLONG nValue); BOOL AddObjectObject(_In_z_ LPCSTR szNameA, _In_ CLightJSonBuilder &cSrc); BOOL AddArrayBoolean(_In_ BOOL bValue); @@ -64,10 +64,10 @@ class CLightJSonBuilder : public CBaseMemObj, public CNonCopyableObj BOOL AddArrayFormattedString(_Printf_format_string_ LPCWSTR szFormatW, ...); BOOL AddArrayLong(_In_ LONG nValue); BOOL AddArrayULong(_In_ ULONG nValue, _In_opt_ BOOL bAsHexa = FALSE); - //IMPORTANT: Stored as strings because ECMA-262 Sec 8.5 states max number is 9007199254740990 + //IMPORTANT: ECMA-262 Sec 8.5 states max number is 9007199254740990 so, if larger, it is recommended to store it as string + // to maximize compatibility, mainly, with javascript. BOOL AddArrayLongLong(_In_ LONGLONG nValue); - //IMPORTANT: Stored as strings because ECMA-262 Sec 8.5 states max number is 9007199254740990 - BOOL AddArrayULongLong(_In_ ULONGLONG nValue, _In_opt_ BOOL bAsHexa = FALSE); + BOOL AddArrayULongLong(_In_ ULONGLONG nValue); BOOL AddArrayObject(_In_ CLightJSonBuilder &cSrc); BOOL AddRaw(_In_ LPCSTR szStrA, _In_opt_ SIZE_T nStrLen = (SIZE_T)-1);