我的样本JSON输入如下:

"JobName":"Test Job 1",
"events":[
    {   "features":[],
        "InputHiveTable":"uilog_uiclientlogdata",
        "eventColumn":"command",
        "name":"edu.apollogrp.classroom.discussion.client.events.CreateDiscussionEvent"
    },

考虑字段"InputHiveTable",它可以是全部大写的INPUTHIVETABLE,全部小写的inputhivetable或两者的混合。

目前,我正在阅读以下字段(使用Java):
JSONObject jsonObject = (JSONObject) obj;
JSONArray events = (JSONArray) jsonObject.get("events");
String InputHiveTable = (String)event.get("InputHiveTable");

所以我的问题是在忽略大小写的情况下如何搜索"InputHiveTable"字段。
我正在使用JSON简单库。

最佳答案

如果您必须多次执行此不区分大小写的查找,则只需编写一个方法即可执行该查找:

public Object getIgnoreCase(JSONObject jobj, String key) {

    Iterator<String> iter = jobj.keySet().iterator();
    while (iter.hasNext()) {
        String key1 = iter.next();
        if (key1.equalsIgnoreCase(key)) {
            return jobj.get(key1);
        }
    }

    return null;

}

关于java - 搜索JSON对象时如何忽略大小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18066844/

10-10 11:14