【问题标题】:get key name & key value from json从 json 获取键名和键值
【发布时间】:2015-09-30 21:23:45
【问题描述】:

我对 java 完全陌生。如何获取此 jsonobject 的键名和键值并将其传递给我的增量方法?

args = {'property_name':1}


private boolean handlePeopleIncrement(JSONArray args, final CallbackContext cbCtx) {

    JSONObject json_array = args.optJSONObject(0);

    mixpanel.getPeople().increment(key_name, key_value);
    cbCtx.success();
    return true;
}

更新

现在我得到了错误:

Object cannot be converted to Number  
Number value = json_array.get(key);

-

private boolean handlePeopleIncrement(JSONArray args, final CallbackContext cbCtx) {
     JSONObject json_array = args.optJSONObject(0);

    Iterator<?> keys = json_array.keys();

    while( keys.hasNext() ) {
        String key = (String) keys.next();
        Number value = json_array.get(key);
       // System.out.println("Key: " + key);
       // System.out.println("Value: " + json_array.get(key));
    }

    mixpanel.getPeople().increment(key, value);
    cbCtx.success();
    return true;
}

【问题讨论】:

  • 这取决于你使用的是什么JSON库,如果json_arrayorg.json.JSONObject你可以使用keys()方法来获取密钥并使用这些密钥来获取对应的值。

标签: java json cordova


【解决方案1】:

试试这个

JSONObject json_array = args.optJSONObject(0);

Iterator<?> keys = json_array.keys();

while( keys.hasNext() ) {
    String key = (String) keys.next();
    System.out.println("Key: " + key);
    System.out.println("Value: " + json_array.get(key));
}

【讨论】:

    【解决方案2】:

    由于您刚接触 Java 和 JSON 是目前最著名的数据交换语言之一,我建议您彻底了解 JSON 的解析和结构this example

    for (String key: jsonObject.keySet()){ System.out.println(key); }

    这将为您获取 JSON 中的密钥集。

    【讨论】:

      猜你喜欢
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 2016-09-21
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      相关资源
      最近更新 更多