有没有办法将 String 传递给一些 Jackson 对象并让它为我填充 JSON obj?也许我将苹果与橙子进行比较,但 json-rpc-1.0.jar 库允许我这样做:
// string will be read in from file but putting the string below just to show what i'm trying to do.
JSONObject jsonObj;
String testStr = "{"blah":123, "aaa": "got here", "foo":"bar", "bar":123}";
jsonObj = new JSONObject(testStr);
jsonObj.put("blah",345);
如果我执行
System.out.println(jsonObj);
我得到:
{"blah":345, "aaa": "got here", "foo":"bar", "bar":123}
json-rpc-1.0.jar 文件的问题是它不能很好地处理long
原始类型。出于某种原因,如果我尝试将时间戳(长数据类型)分配给字段,它会将长数据转换为 1.32e9 之类的东西。
我发现 Jackson (jackson-core-2.2.3.jar) 比 longs 更好,保留了我的时间戳所需的 10-13 位数字。但是,我在 Jackson 中找不到与上述代码片段类似的东西。最接近的可能是 ObjectMapper.readValue 但与上面的不完全一样。
请让我知道这是可能的还是我只是在做梦。在此先感谢您的帮助。同时,我将尝试更多地查看 API。