将 Delphi 个对象转换为 JSON
Converting Delphi Objects to JSON
我正在使用 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\":\"
...
这是什么原因造成的?
JSON 完全有效。当表示为 JSON 时,您的嵌套对象包含双引号字符。由于它们被保留为字符串定界符,因此需要对其进行转义。因此使用反斜杠字符作为转义字符。
我正在使用 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\":\"
...
这是什么原因造成的?
JSON 完全有效。当表示为 JSON 时,您的嵌套对象包含双引号字符。由于它们被保留为字符串定界符,因此需要对其进行转义。因此使用反斜杠字符作为转义字符。