2016-05-16 259 views
6

我正在使用Delphi XE7,并且无法将对象转换为JSON。我可以得到一些对象来回馈什么,我认为是正确的JSON,如TTestObject将Delphi对象转换为JSON

{"Test":{"Field":"TestField","Operation":"TestOperation","values": 
["Value1","Value2","Value3","Value4"]}} 
JOBJ:= TJSONObject.Create; 
JOBJ.AddPair('Test', ATestObject.JSONObj); 
memo1.Lines.Add(JObj.ToJSON); 
JOBJ.Free; 

然而,当我试图从我的对象有那些对象以及性能得到JSON回来,我获取与\个字符的JSON。

{"Exceptions":{"TestObject1":" 
{\"Mode\":\"0\",\"Value\":\"100.50\",\"Days\":\"10\"}","TestObject2":" 
{\"Mode\":\"0\",\"Days\":\"0\",\"UnitsSold\":\" 
... 

这是什么造成的?

回答

6

JSON是完全有效的。您的嵌套对象(以JSON表示)包含双引号字符。由于它们被保留为字符串分隔符,它们需要被转义。因此使用反斜杠字符作为转义字符。

+1

谢谢你的好解释 – John