From 84e2cd23410b617a01634b7103f8d911e965f913 Mon Sep 17 00:00:00 2001 From: inoussa Date: Mon, 9 Nov 2015 12:21:26 +0000 Subject: [PATCH] JSON Formatter: serialize enum's string representation, SaveTo(Stream/File) using UTF8, fix ContentType. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4384 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- wst/trunk/base_json_formatter.pas | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/wst/trunk/base_json_formatter.pas b/wst/trunk/base_json_formatter.pas index e9187c15c..eeb4a3ffb 100644 --- a/wst/trunk/base_json_formatter.pas +++ b/wst/trunk/base_json_formatter.pas @@ -21,6 +21,7 @@ uses const sFORMAT = 'format'; + sCONTENT_TYPE = 'contenttype'; s_json_ContentType = 'application/json'; s_json = 'json'; s_inner_value = '__'; @@ -513,7 +514,7 @@ procedure TJsonRpcBaseFormatter.PutEnum( const AData : TEnumIntType ); begin - StackTop().CreateIntBuffer(AName,AData); + StackTop().CreateStringBuffer(AName,GetEnumName(ATypeInfo,AData)); end; procedure TJsonRpcBaseFormatter.PutBool( @@ -638,7 +639,7 @@ var begin Result := GetDataBuffer(AName,locBuffer); if Result then - AData := locBuffer.AsInteger; + AData := GetEnumValue(ATypeInfo,locBuffer.AsString); end; function TJsonRpcBaseFormatter.GetBool( @@ -1565,7 +1566,7 @@ end; procedure TJsonRpcBaseFormatter.SaveToStream(AStream : TStream); var - locBuffer : string; + locBuffer : UTF8String; begin if Assigned(FRootData) then begin locBuffer := FRootData.AsJSON;