将Delphi对象转换为JSON

时间:2016-05-16 16:50:48

标签: json delphi delphi-xe7

我正在使用Delphi XE7,我无法将对象转换为JSON。我可以得到一些对象来回馈我认为合适的JSON,例如TTestObject

{"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\":\" 
...

造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:7)

JSON完全有效。当表示为JSON时,嵌套对象包含双引号字符。由于它们被保留为字符串分隔符,因此需要对其进行转义。因此使用反斜杠字符作为转义字符。