Comments (4)
Not tried but I would expect following code to work.
f1 = jsons.JsonSerializable.fork()
f1.set_serializer(my_datetime_serializer, datetime)
jsons.dump(foo, fork_inst=f1)
I did not see it in the documentation. Maybe the documentation could be updated.
from jsons.
I did not have a chance to look in detail. In general, it makes sense to me directly calling jsons.fork()
Is there any way of avoiding .copy()
in the .fork()
?
Instead, maybe we can use a fallback approach: if there is a serializer/deserializer is defined in custom JsonSerializable
, use it. Otherwise, use globally defined one?
I think Gson library uses a builder where you can also pass configurations:
https://static.javadoc.io/com.google.code.gson/gson/2.8.2/com/google/gson/GsonBuilder.html
In jsons
, some configurations cannot be defined in JsonSerializable
I guess? e.g. key_transformer
from jsons.
Thank you @ahmetkucuk. That works.
from jsons.
Great question Casparjespersen. Even though @ahmetkucuk answered your question correctly, I believe your suggestion deserves consideration. I like the idea of being able to "temporarily" override the (de)serialization behavior of some types.
As for the current solution that Ahmetkucuk rightly mentioned, I'm thinking of deprecating it (to have it removed later). It makes no sense (anymore) that JsonSerializable
is to be involved. Rather, I'm thinking of a mere function like jsons.fork()
.
I am curious about the opinion of you guys on this. 🙂
from jsons.
Related Issues (20)
- Literal (and Union[Literal]) support HOT 1
- TypeError: Item in jsons.__all__ must be str, not function HOT 1
- Question about JsonSerializable.json method HOT 2
- Document issue: `dumps` should return a string? HOT 1
- Bug `with_dump` only support `json`, not support `dumps` HOT 2
- DeserializationError when loading into a class with an Optional bson.ObjectID HOT 2
- Optional and Union fields are not handled correctly HOT 2
- UserWarning: Failed to dump attribute after updating python to 3.10 HOT 2
- In nested objects, `load` is only called for the root object instead of being called for each one HOT 1
- How to make `jsons.dump()` treat `bytes` the same as Python3 `str`? HOT 2
- Deserialize JSON into Class - Ignore attributes HOT 3
- SerializationError: object of type 'abc' has no len() HOT 2
- What's the key difference between `jsons` and `pydantic`? HOT 1
- DeserializationError: Invalid type: "decimal.Decimal"
- jsons dumps fields sorted
- Test failure with Python 3.11 HOT 1
- deserialization with jsons to nested classes HOT 1
- Error: got an unexpected keyword argument 'origin'
- dicts are serialized wrongly when assigned to an attribute with an 'Any' type
- Is this project still alive ?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jsons.