JSON忽略数据映射之外的字段

时间:2012-08-20 08:04:01

标签: json jackson

我收到了一些回复:

var xxx_api = { "user" : {
   "name":"satishpandey",
   "sites":[
        {
            "name":"SEO Product",
            "url":"http://www.xxx.com/"
        }   ]
}};

我想排除那些在json数据之外的字符串。

需要排除

var xxx_api;

杰克逊有什么东西可以排除这些字符串吗?

2 个答案:

答案 0 :(得分:0)

我在jackson找不到任何解决方案。现在我使用String.substring()方法来获得所需的结果。

StringBuilder stringBuilder = new StringBuilder(jsonString);
stringBuilder.replace(0, stringBuilder.indexOf("{"), "");
stringBuilder.replace(stringBuilder.lastIndexOf("}") + 1, stringBuilder.length(), "");

它对我来说很完美。

答案 1 :(得分:0)

假设您在get / post(类似restful-like)方法中使用它,可能这与您正在使用的webservice方法的标头有关。我正在使用REST,我能够指定我想要接收json输入的格式,如此

@POST
@Path("/post")
@Consumes(MediaType.APPLICATION_JSON)
public Response myMethod(@FormParam("post") String jsonInput){
    // ...
    // use jsonInput 
    mapper.readValue(jsonInput, ...);
    // ...
}

考虑到这一点,我想写入var jsonInput(在标题中)的输入将是

    { "user" : {
          "name":"satishpandey",
          "sites":[
               {
                   "name":"SEO Product",
                   "url":"http://www.xxx.com/"
               }   ]
    }};