Thread overview
AssocArray to string is ok,but how to get the AssocArray from string? Thanks
December 12
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
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
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
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
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[].