I have a Javascript object which will consists of a non-cyclic object hierarchy with parameters and child objects. Some of these objects may hold binary data loaded from files or received via XHRs (not defined yet if Blob, ArrayBuffer or something else).
Normally I would use JSON.stringify() to serialize it as JSON but how can I then specify that binary data will be base64 encoded?
What binary data object (Blob, ArrayBuffer,...) would you recommend me then?
EDIT: Other data formats than plain JSON is not an option.
For blobs it makes more sense to convert the Blobs in the object to base64 beforehand and then stringify the object. This is because there is no reliable way to synchronously convert a blob to base64, and thus the replacer function is not a viable choice here.
Getting a blob from parsed JSON is then as simple as