TJSONObject中的日期格式

时间:2018-04-09 18:09:53

标签: json c++builder c++builder-10.1-berlin

我正在通过TFDMemTableSaveToStream()转换为JSON。然后我使用TJSONObject::ParseJSONValue()来获取JSON对象。经过一些解析后,我通过ToString()以字符串格式返回JSON。

  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()一起使用。

是否有人知道任何此类选项,或者我是否必须按日期/时间字段进行此转换?

1 个答案:

答案 0 :(得分:1)

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

顺便说一句,您不需要创建TJSONObject对象来呼叫ParseJSONValue()

TJSONObject *JsonParsed = (TJSONObject*) TJSONObject::ParseJSONValue(Stream->DataString);