JSON client side example & client side logging

hello,
since i am already trying to google it some time and trying to do it manually takes so time, i would be greatfull if somebody has some example of using JSON on client side

import com.google.gwt.json.client.JSONArray;
import com.google.gwt.json.client.JSONParser;
import com.google.gwt.json.client.JSONValue;

The point is map input as json string to my client-side object
Anybody has some example of structure?

And secondary ask is i have added Gwt.Log(“message”) to the client-sided component but the output is not seen by console in chrome? Why is that? gwt 2.8.2
Thanks :).

The test: server side
private String createJson(List list){
ObjectMapper mapper = new ObjectMapper();
String s = null;
try {
s = mapper.writeValueAsString(list);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return s;
}

Client side
JsonExample: "[{“id”:null,“loc”:{“x”:1.0,“y”:1.0},“data”:“test - 1”,“tree”:null}]
";

public static List JsonToDrawList(JSONValue json) {
List nodeList = new ArrayList<>();
JSONArray array;
JSONObject object;
JSONValue value;
DrawNode actualNode;

//more nodes
if ((array = json.isArray()) != null) {
for (int i = 0; i < array.size() ; i++) {
object = json.isObject();
if (object == null) continue;
nodeList.add(createNode(object));
Window.alert(“Object added”);
}
} else if((object = json.isObject()) != null) { //single node
nodeList.add(createNode(object));
Window.alert(“Object added”);
} else {
Window.alert(“Problem with json”);
}
return nodeList;
}
private static DrawNode createNode(JSONObject node) {
DrawNode actualNode = new DrawNode();
JSONValue value;

value = node.get(“data”);
actualNode.setData(value.isString().stringValue());
value = node.get(“loc”);
JSONObject object1 = value.isObject();
JSONValue x = object1.get(“x”);
JSONValue y = object1.get(“x”);
Double v = x.isNumber().doubleValue();
Double w = y.isNumber().doubleValue();
Integer xValue = v.intValue();
Integer yValue = w.intValue();
Point point = new Point(xValue,yValue);
actualNode.setDataLocation(point);

return actualNode;
}