0

我正在TFDMemTable通过SaveToStream(). 然后我TJSONObject::ParseJSONValue()用来获取 JSON 对象。经过一些解析后,我通过 . 返回字符串格式的 JSON ToString()

  TStringStream *Stream = new TStringStream();
  TJSONObject *Json = new TJSONObject();

  fdMemTable->SaveToStream(Stream.get(), sfJSON);

  TJSONObject *JsonParsed = (TJSONObject*) Json->ParseJSONValue(Stream->DataString);
  ...    
  return JsonParsed->ToString();

在整个过程中,日期保持在表单中,20180329T013152而不是2018-03-29T01:31:52. 我正在寻找是否可以设置任何选项。TJsonOptions似乎接近我正在寻找的东西,但似乎只与ObjectToJsonString().

有谁知道任何这样的选项,还是我必须按日期/时间字段进行此转换?

4

1 回答 1

1

JSON 中没有日期/时间类型。日期/时间值只是带有格式的任意字符串值。因此,除非TFDMemTable提供一个选项来为其 JSON 输出指定日期/时间格式,否则您将不得不在每个字段的基础上处理此问题。

顺便说一句,您不需要创建一个TJSONObject对象来调用ParseJSONValue()

TJSONObject *JsonParsed = (TJSONObject*) TJSONObject::ParseJSONValue(Stream->DataString);
于 2018-04-11T16:09:11.330 回答