在java中使用google的gson解析JSON输出

时间:2013-09-18 13:35:56

标签: java json parsing gson

我是JSON输出的新手,我使用Gson解析器来解析输出。

我只想从输出中获取汽车的名称和卡车的代码,当我解析时,我得到带引号作为输出的汽车名称,我删除带有字符串替换的引号,我是否正确解析了值?

JsonElement jelement = new JsonParser().parse(json);
JsonObject carobject= jelement.getAsJsonObject();
carobject= carobject.getAsJsonObject("Car");
String car = carobject.get("name").toString();
out.println("Car Name:"+car);

JSON输出:

{
        "messages": [
            "For a complete list use showall=true to display 'intersection' element in the Mask"
        ],
        "Mask": {
            "NJS": "120950170151015",
            "section": [
                {
                    "NJS": "120950170151015"
                },
                {
                    "NJS": "120950170151016"
                },
                {
                    "NJS": "120950170151019"
                }
            ]
        },
        "Car": {
            "NJS": "12095",
            "name": "Audi"
        },
        "Truck": {
            "NJS": "12",
            "code": "TL",
            "name": "TLTRUCK"
        },
        "status": "OK",
        "executionTime": "13"
    }

1 个答案:

答案 0 :(得分:0)

您应该使用Gson的特定toString()方法,而不是使用通用getAsString()方法。请参阅Gson API文档here

购买方式,您可能希望使代码更清晰,如下所示:

JsonObject rootObject = new JsonParser().parse(json).getAsJsonObject();
JsonObject carObject = rootObject.getAsJsonObject("Car");
String carName = carObject.get("name").getAsString();