我正在使用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\":\"
...
造成这种情况的原因是什么?
答案 0 :(得分:7)
JSON完全有效。当表示为JSON时,嵌套对象包含双引号字符。由于它们被保留为字符串分隔符,因此需要对其进行转义。因此使用反斜杠字符作为转义字符。