I would like to unmarshal a Json to a Map/List of Strings (eg Map>…)
Here is my input:
{"pointsOfSale":
{"pointOfSale":[
{"href":"\/pointsOfSale\/UUID.0abc2aca-7930-4c9e-9f38-8af3d0692e04",
"model":{"href":"\/models\/modelePointOfSale",
"modelType":{"href":"\/modelTypes\/pointOfSale"}},
"source":{"href":"\/sources\/TEST"},
"attribute":[
{"code":"pointOfSalePhysical","value":true},
{"code":"mail","value":"Mail1"},
{"code":"adresse","value":"address1"}]},
{"href":"\/pointsOfSale\/UUID.a12e7adf-652a-4197-91bf-d4785e43f09f",
"model":{"href":"\/models\/modelePointOfSale",
"modelType":{"href":"\/modelTypes\/pointOfSale"}},
"source":{"href":"\/sources\/Wikeo"},
"attribute":[
{"code":"pointOfSalePhysical","value":false},
{"code":"mail","value":"Mail1"},
{"code":"adresseMateriau","value":"Material address1"}]}
}}
I would like to be able to do “something” like this after unmarshaling:
myJsonMapped.get("pointsOfSale").get("pointOfSale").get(0).get("source").get("href").equals("\/sources\/TEST") == true
For instance, with Gson we can do this kind of decoding:
new Gson().fromJson(json, Map.class);
I know I can do this with a simple bean or processor etc…
I just want to know of I can do this more efficiently with a native JSON camel component config
EDIT: I tried different thing already like :
unmarshal().json()…
or
unmarshal().json(JsonLibrary.Gson, Map.class)..
etc…
without succes :'(
You could do something like this with jackson.
Or in java with gson:
If you’re not getting it to work, please state error and so fourth.