Hi, Sebastian asked me for a solution to the following problem: reading a JSON map where the values should be instances of a specific domain object. This was already possible for lists.
Using the newly added NeoJSONCustomMapping>>#mapWithValueSchema: this is now possible, as the following unit test shows: testDictionaryOfObject2 | data json reader | data := Dictionary new. data at: #one put: NeoJSONTestObject2 example1; at: #two put: NeoJSONTestObject2 example1. json := NeoJSONWriter toString: data. reader := NeoJSONReader on: json readStream. reader for: #DictionaryOfObject2 customDo: [ :mapping | mapping mapWithValueSchema: NeoJSONTestObject2 ]. self assert: (reader nextAs: #DictionaryOfObject2) equals: data Note that the mapping mechanism in NeoJSON is optional. Without mapping you get Arrays and Dictionaries back, that you can then convert to your domain objects in the a next step. With mapping however, these intermediary representations are not used and maps or lists are parsed while creating and populating your domain objects directly, which should be more efficient. This does of course introduce the necessity of adding some form of static typing. http://www.smalltalkhub.com/#!/~SvenVanCaekenberghe/Neo Sven