Thread overview | ||||||
---|---|---|---|---|---|---|
|
March 30, 2018 How to customize vibe.data.json | ||||
---|---|---|---|---|
| ||||
Hi, In vibe's web page(http://vibed.org/api/vibe.data.json/serializeToJson) it is told that I should implement Json toJson() const; static T fromJson(Json src); string toString() const; static T fromString(string src); I think I should implement those as member functions(I am not sure). I have a struct like: struct TradeData { import std.uuid : UUID; import std.datetime : SysTime; UUID sellOrderID; UUID buyOrderID; SysTime buyOrderTime; SysTime sellOrderTime; } What I want is automatically json conversion of UUID and SysTime classes by returning UUID.toString() and SysTime.toSimpleString() methods when serializeToJson() is being called. Since these are std classes I don't know how can I manipulate them. Can you please tell me how should I use toJson(), fromJson() functions for customizing user defined objects. Erdem |
March 30, 2018 Re: How to customize vibe.data.json | ||||
---|---|---|---|---|
| ||||
Posted in reply to kerdemdemir | On Friday, 30 March 2018 at 16:47:52 UTC, kerdemdemir wrote: > Hi, > > In vibe's web page(http://vibed.org/api/vibe.data.json/serializeToJson) it is told that I should implement > > [...] I think you are looking for this - https://github.com/vibe-d/vibe.d/pull/2088 Feel free to ping the people there ;-) |
March 30, 2018 Re: How to customize vibe.data.json | ||||
---|---|---|---|---|
| ||||
Posted in reply to Seb | On Friday, 30 March 2018 at 17:58:23 UTC, Seb wrote:
> On Friday, 30 March 2018 at 16:47:52 UTC, kerdemdemir wrote:
>> Hi,
>>
>> In vibe's web page(http://vibed.org/api/vibe.data.json/serializeToJson) it is told that I should implement
>>
>> [...]
>
> I think you are looking for this - https://github.com/vibe-d/vibe.d/pull/2088
>
> Feel free to ping the people there ;-)
Exactly :)
|
March 30, 2018 Re: How to customize vibe.data.json | ||||
---|---|---|---|---|
| ||||
Posted in reply to Seb | On Friday, 30 March 2018 at 17:58:23 UTC, Seb wrote: > On Friday, 30 March 2018 at 16:47:52 UTC, kerdemdemir wrote: >> Hi, >> >> In vibe's web page(http://vibed.org/api/vibe.data.json/serializeToJson) it is told that I should implement >> >> [...] > > I think you are looking for this - https://github.com/vibe-d/vibe.d/pull/2088 > > Feel free to ping the people there ;-) struct RESTTime { SysTime time; alias time this; static RESTTime fromString(string v) { return RESTTime(SysTime.fromSimpleString(v)); } string toString() const { return time.toSimpleString(); } } struct TradeData { UUID sellOrderID; UUID buyOrderID; SysTime buyOrderTime; SysTime sellOrderTime; } void main() { TradeData t; Json jsonResult = t.serializeToJson(); writeln(jsonResult.toString()); } Unfortunately what is shown in the forum is not working with SysTime. My program is being terminated in std.datetime.SysTime.toISOExtString() function by code -11. I hope it does not sound like spoon feeding but do you know any solution for SysTime. I am working on it in parallel. Erdem |
Copyright © 1999-2021 by the D Language Foundation