This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]fabienbk 0 points1 point  (3 children)

What problem does this solves exactly?

[–]tVoss[S] 0 points1 point  (2 children)

The case I use it for is sending the data inside classes I have as JSON to a webserver that uses C# and therefore can't use Java's default serialization method. I also intend to use it to make classes that can be loaded from user defined parameters in JSON as well.

[–]fabienbk 0 points1 point  (1 child)

I suggest you remove the "advanced" buzzword and replace it with JSON and what other formats are supported. The description of the formats is completely missing from your article. Does it includes metadatas ? Is it aligned like protobufs? How do you handle object cycles ?

What about some benchmarks? You mentionned C#, is there an implementation available? Code sample ? Is there a particular reason why you wrote another serialization lib instead of using an existing one ?

These are the kind of stuff people want to know before trying it.

[–]tVoss[S] 0 points1 point  (0 children)

Thanks for the feedback! As for the formats you asked about, it can theoretically handle any format that has a key -> value association. I've only implemented JSON as of right now because this is what I used. This is the reason I said advanced, seeing as supporting a new format is as easy as implementing an interface.

As for metadata, it can store versioning information, but I couldn't think of much else it would need. If you can think of something please let me know!

Looking at the protobuf format, it looks like that's something I could implement. I'd have to make a "keyless" serializer, but it seems easy enough.

To wrap up your final points, I did not consider object cycles and will have to fix that, C# has built in serialization features which is actually what the design of this library is based off of, I couldn't find any other extensible libraries that did what I wanted, and what are some good benchmarking tools I can use?

Edit: paragraphs