简体   繁体   English

如何从Android中的Map获取键值对

[英]How can I get the key value pair from Map in android

public Map<String, Object> toMap(JSONObject fees_history) throws JSONException {
    Map<String, Object> map = new HashMap<String, Object>();
    jsonArray = new JSONArray();
    int j = 0;
    Iterator<String> keysItr = fees_history.keys();
    while (keysItr.hasNext()) {
        String key = keysItr.next().toString();
        Object value = fees_history.get(key);
        if (value instanceof JSONArray) {
            value = toList((JSONArray) value);
        } else if (value instanceof JSONObject) {
            value = toMap((JSONObject) value);
            //How can i get the String value from this Object here
            //here i am logging
            Log.e("Value",value.toString());
            Unpaid_fees_detail_adapter unpaid_fees_detail_adapter = new Unpaid_fees_detail_adapter(ReportActivity.this, unpaid_fees_details);
            listView.setAdapter(unpaid_fees_detail_adapter);
        }
        map.put(key, value);
    }
    return map;
}

Here is My value of Object which in am getting 这是我正在得到的对象的价值

{date=29-07-2017,Reciept=RC1, Amount=11800}

I have commented there and my question is how can I get the key value pair inside the Object. 我在这里评论过,我的问题是如何在对象内部获取键值对。

I have tried a lot of way by using map.get(Object) but I am failed to do it.I just want how can I get the separate value of date,Receipt,Amount 我已经尝试过使用map.get(Object)的很多方法,但是我做不到。我只想如何获取date,Receipt,Amount的单独值

Try this. 尝试这个。

String response = "{date=29-07-2017,Reciept=RC1, Amount=11800}";
String responseConvert = response.replace("=", ":");
Map<String, String> map = new HashMap<>();
Iterator<String> sIterator = null;
try {
    sIterator = new JSONObject(responseConvert).keys();
    while (sIterator.hasNext()) {
        // get key
        String key = sIterator.next();
        // get value
        String value = new JSONObject(responseConvert).getString(key);
        map.put(key, value);
        Log.e("TAG", "key: " + key + ",value:" + value);
    }
} catch (JSONException e) {
    e.printStackTrace();
}

Note 注意

  1. JSON data is illegal,so we must convert it. JSON数据是非法的,因此我们必须对其进行转换。

     String responseConvert = response.replace("=", ":"); 
  2. Use Map<String,String> and Iterator<String> 使用Map<String,String>Iterator<String>

     Map<String, String> map = new HashMap<>(); Iterator<String> sIterator = new JSONObject(responseConvert).keys(); 
  3. Get key and value 获取关键和价值

     // get key String key = sIterator.next(); // get value String value = new JSONObject(responseConvert).getString(key); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从LinkedHashMap迭代器获取键,值对? - How I can get key, value pair from LinkedHashMap iterator? 从地图获取键值对 - Get key value pair from Map 如果我有钥匙,如何从地图中获取值? - How can I get a value from a map if I have the key? 使用方法中传递的参数从 Map 获取一对键+值 - Get a pair key+value from a Map with a parameter passed in a method 如何从键/值对列表中检索给定键对中的值? - How can I retrieve a value from a list of key/value pairs with the key from a given pair? 如何在Java中使用Excel从column1和column 3获取单元格值并将映射作为键值对放入地图 - How to get the cell values from column1 and column 3 and put in map as key value pair using excel in java 在 Java8 函数式风格中,如何将值映射到已经存在的键值对 - In Java8 functional style, how can i map the values to already existing key value pair 如何在属性中设置地图字段,而不必单独列出每个键/值对? - How can I set a Map field in my properties without having to list each key/value pair individually? 如何从列表中删除键/值对<Map<String, Object> &gt; - How to remove the key/value pair from a List<Map<String, Object>> 有没有办法仅通过密钥对获取对和值映射的值? - is there a way to get values of a map of pair and value by the key pair only?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM