有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何提取json结果字符串

在我的java项目中,通过一个api调用,我得到了货币代码及其作为json字符串的扩展。下面是json结果

      String jsonString = {
    "AED": "United Arab Emirates Dirham",
    "AFN": "Afghan Afghani",
    "ALL": "Albanian Lek",
    "AMD": "Armenian Dram",
    "ANG": "Netherlands Antillean Guilder",
    "AOA": "Angolan Kwanza",
    "ARS": "Argentine Peso",
    "AUD": "Australian Dollar",
    "AWG": "Aruban Florin",
    "AZN": "Azerbaijani Manat",
    "BAM": "Bosnia-Herzegovina Convertible Mark",
    "BBD": "Barbadian Dollar",
    "BDT": "Bangladeshi Taka",
    "BGN": "Bulgarian Lev",
    "BHD": "Bahraini Dinar",
    "BIF": "Burundian Franc",
    "BMD": "Bermudan Dollar",
    "BND": "Brunei Dollar",
    "BOB": "Bolivian Boliviano",
    "BRL": "Brazilian Real",
    "BSD": "Bahamian Dollar",
    "BTC": "Bitcoin",
    "BTN": "Bhutanese Ngultrum",
    ......
    }

现在,我如何从上面的json字符串中提取键值对,其中货币代码作为键,扩展作为值,以便将其存储到列表或映射中


共 (1) 个答案

  1. # 1 楼答案

    您可以使用以下代码使用^{}Inputstream/String/byte[]/Url/File/ReaderMap<String,String>读取json:

      ObjectMapper mapper = new ObjectMapper();// do this construction at application level. Not for every call.
      Map<String,String> codeDescMap = mapper.readValue(source,mapper.getTypeFactory()
            .constructMapLikeType(Map.class,
                  String.class,String.class));
    

    其中,源可以是具有有效json结构的Inputstream/String/byte[]/Url/File/Reader