将Delphi对象转换为JSON
问题描述:
我正在使用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\":\"
...
这是什么造成的?
答
JSON是完全有效的。您的嵌套对象(以JSON表示)包含双引号字符。由于它们被保留为字符串分隔符,它们需要被转义。因此使用反斜杠字符作为转义字符。
谢谢你的好解释 – John