TJSONObject 中的日期格式
Date format in TJSONObject
我正在通过 SaveToStream()
将 TFDMemTable
转换为 JSON。然后我使用 TJSONObject::ParseJSONValue()
来获取 JSON 对象。经过一些解析后,我通过 ToString()
.
return 字符串格式的 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()
一起使用。
有没有人知道任何这样的选项,或者我是否必须对每个 date/time 字段进行此转换?
JSON 中没有 date/time 类型。 Date/time 值只是带有格式的任意字符串值。因此,除非 TFDMemTable
为其 JSON 输出提供指定 date/time 格式的选项,否则您将不得不在 per-field 的基础上处理此问题。
顺便说一句,你不需要创建一个 TJSONObject
对象来调用 ParseJSONValue()
:
TJSONObject *JsonParsed = (TJSONObject*) TJSONObject::ParseJSONValue(Stream->DataString);
我正在通过 SaveToStream()
将 TFDMemTable
转换为 JSON。然后我使用 TJSONObject::ParseJSONValue()
来获取 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()
一起使用。
有没有人知道任何这样的选项,或者我是否必须对每个 date/time 字段进行此转换?
JSON 中没有 date/time 类型。 Date/time 值只是带有格式的任意字符串值。因此,除非 TFDMemTable
为其 JSON 输出提供指定 date/time 格式的选项,否则您将不得不在 per-field 的基础上处理此问题。
顺便说一句,你不需要创建一个 TJSONObject
对象来调用 ParseJSONValue()
:
TJSONObject *JsonParsed = (TJSONObject*) TJSONObject::ParseJSONValue(Stream->DataString);