从错误格式化的json字符串

时间:2017-04-02 05:24:18

标签: java json

我有一个json字符串,看起来像这样:

data: { "type": "add",
"newsId": "5da979e0-161d-11e7-9e14-bd201bbe920c",
"articleId": "null",
"category": "news",
"timestamp": "1490970103941",
"id": "5daa8b50-161d-11e7-9e14-bd201bbe920c"}

我已经创建了pojo来使用Gson解析这个json。

public class SSENewsEvent {

    private String type;

    private String newsId;

    private String articleId;

    private String category;

    private String timestamp;

    private String id;
}

但是,正如你所看到的,它无法被解析,因为它以某种方式被错误地格式化了

data:

在字符串的开头。你能帮我找到解析这个字符串的最佳方法吗?

2 个答案:

答案 0 :(得分:0)

JSON字符串中的语法错误JSON字符串应该如下所示

{
    "data":
    { 
        "type": "add",
        "newsId": "5da979e0-161d-11e7-9e14-bd201bbe920c",
        "articleId": "null",
        "category": "news",
        "timestamp": "1490970103941",
        "id": "5daa8b50-161d-11e7-9e14-bd201bbe920c"
    }
}

答案 1 :(得分:0)

您可以这样:

myObj = {
    "type": "add",
    "newsId": "5da979e0-161d-11e7-9e14-bd201bbe920c",
     "articleId": "null",
     "category": "news",
     "timestamp": "1490970103941",
     "id": "5daa8b50-161d-11e7-9e14-bd201bbe920c"
 }
var type = myObj.type;
var newsId= myObj.newsId;
var articleId=myObj.articleId;
var category= myObj.category;
var timestamp= myObj.timestamp;
var id=myObj.id;

希望它能帮到你