Thread overview
AssocArray to string is ok,but how to get the AssocArray from string? Thanks
Dec 12, 2017
Frank Like
Dec 12, 2017
Azi Hassan
Dec 14, 2017
Frank Like
Dec 13, 2017
Nicholas Wilson
Dec 14, 2017
Frank Like
December 12, 2017
Hi,everyone,
who can help me,about the "AssocArray to string is ok,but how to get the AssocArray from string? ".

For example:

SysTime[][string] AATimes;
AATimes["a1"] =[SysTime(DateTime(2017, 1, 1, 12, 33, 33)),SysTime(DateTime(2017, 1, 2, 12, 33, 33))];
AATimes["a2"] =[SysTime(DateTime(2017, 1, 2, 12, 33, 33)),SysTime(DateTime(2017, 1, 3, 12, 33, 33))];

  ubyte[] ua = cast(ubyte[])AATimes.to!string;
  writeln("ua is ",ua);
	
  string strTimes = cast(string)ua;
   writeln("strTimes is ",strTimes);

But now,how to get the AATimes from string?

Thanks.

Frank.
December 12, 2017
On Tuesday, 12 December 2017 at 17:32:15 UTC, Frank Like wrote:
> Hi,everyone,
> who can help me,about the "AssocArray to string is ok,but how to get the AssocArray from string? ".
>
> For example:
>
> SysTime[][string] AATimes;
> AATimes["a1"] =[SysTime(DateTime(2017, 1, 1, 12, 33, 33)),SysTime(DateTime(2017, 1, 2, 12, 33, 33))];
> AATimes["a2"] =[SysTime(DateTime(2017, 1, 2, 12, 33, 33)),SysTime(DateTime(2017, 1, 3, 12, 33, 33))];
>
>   ubyte[] ua = cast(ubyte[])AATimes.to!string;
>   writeln("ua is ",ua);
> 	
>   string strTimes = cast(string)ua;
>    writeln("strTimes is ",strTimes);
>
> But now,how to get the AATimes from string?
>
> Thanks.
>
> Frank.

Serialization seems to be the answer. Unfortunately I could neither get it to work with Cereal nor with Orange. If all else fails, you could still attempt to manually parse it ot of its string representation (AATimes.to!string).
December 13, 2017
On Tuesday, 12 December 2017 at 17:32:15 UTC, Frank Like wrote:
> Hi,everyone,
> who can help me,about the "AssocArray to string is ok,but how to get the AssocArray from string? ".
>
> For example:
>
> SysTime[][string] AATimes;
> AATimes["a1"] =[SysTime(DateTime(2017, 1, 1, 12, 33, 33)),SysTime(DateTime(2017, 1, 2, 12, 33, 33))];
> AATimes["a2"] =[SysTime(DateTime(2017, 1, 2, 12, 33, 33)),SysTime(DateTime(2017, 1, 3, 12, 33, 33))];
>
>   ubyte[] ua = cast(ubyte[])AATimes.to!string;
>   writeln("ua is ",ua);
> 	
>   string strTimes = cast(string)ua;
>    writeln("strTimes is ",strTimes);
>
> But now,how to get the AATimes from string?
>
> Thanks.
>
> Frank.

Have a look at std.conv.parse


December 14, 2017
On Wednesday, 13 December 2017 at 08:39:00 UTC, Nicholas Wilson wrote:
>
> Have a look at std.conv.parse

I know it.But it's not work with DateTime or SysTime.
Now,it's only work on string.

But thank you.
December 14, 2017
On Tuesday, 12 December 2017 at 21:18:19 UTC, Azi Hassan wrote:
> Serialization seems to be the answer. Unfortunately I could neither get it to work with Cereal nor with Orange. If all else fails, you could still attempt to manually parse it ot of its string representation (AATimes.to!string).

Thank you. Now,I find that works ok on string[],and not work on SysTime[].