0

我是 json 新手,所以请帮我解决这个问题

propertyAlerts: [
{
    alertDomain: "oiq.core.alert.PropertyAlert",
    alertType: "HERITAGE_DETECTED",
    oiqCreatedDate: "2013-11-04 03:06:26"
}]

通过使用java,我想得到以下数据

OUTPUT:
alertDomain: "oiq.core.alert.PropertyAlert"
alertType: "HERITAGE_DETECTED"
oiqCreatedDate: "2013-11-04 03:06:26"

以下是我使用的

public void checklicense(String filename) throws Exception
    {
JSONParser parser=new JSONParser();
Object obj = parser.parse(new FileReader("./output_profiles/"+filename));
JSONObject jsonObject = (JSONObject) obj;
JSONArray jsonMainArr = obj.getJSONArray("propertyalert"); 
JSONObject childJSONObject = jsonMainArr.getJSONObject(i);
     String alertDomain = childJSONObject.getString("alertDomain");

}

谁能帮我解决这个问题

4

2 回答 2

0

教程介绍了 JSON 解析的基础知识。

我建议您阅读整篇文章,因为这是您在 Android 开发中几乎每天都会做的事情。

于 2013-11-04T11:20:59.243 回答
0
public static void checklicense(String filename) 
{
    try {
        JSONParser parser = new JSONParser();
        Object obj = parser.parse(new FileReader(filename));
        System.out.println(obj.getClass());
        JSONObject jsonObject = (JSONObject) obj;
        JSONArray jsonMainArr = (JSONArray) jsonObject.get("propertyAlerts");
        Iterator iterator = jsonMainArr.iterator();
        while(iterator.hasNext()) {
            jsonObject =(JSONObject) iterator.next();
            String alertDomain = (String) jsonObject.get("alertDomain");
            String alertType = (String) jsonObject.get("alertType");
            System.out.println("alertDomain " + alertDomain + ", alertType " + alertType );
        }
    } catch (Exception ex) {
        java.util.logging.Logger.getLogger(EosClient.class.getName()).log(Level.SEVERE, null, ex);
    } 
}

上面的代码为有效的 json 输入生成所需的输出

{
"propertyAlerts": [
    {
        "alertDomain": "oiq.core.alert.PropertyAlert",
        "alertType": "HERITAGE_DETECTED",
        "oiqCreatedDate": "2013-11-04 03:06:26"
    }
]
}
于 2013-11-04T11:47:58.250 回答