如何将JSON对象解析为Map <String,HashSet <String >>

Smatthewenglish

我想解析这个JSON对象:

"{
  \"Rao\":[\"Q7293658\",\"\",\"Q7293657\",\"Q12953055\",\"Q3531237\",\"Q4178159\",\"Q1138810\",\"Q579515\",\"Q3365064\",\"Q7293664\",\"Q1133815\"],
  \"Hani Durzy\":[\"\"],
  \"Louise\":[\"\",\"Q1660645\",\"Q130413\",\"Q3215140\",\"Q152779\",\"Q233203\",\"Q7871343\",\"Q232402\",\"Q82547\",\"Q286488\",\"Q156723\",\"Q3263649\",\"Q456386\",\"Q233192\",\"Q14714149\",\"Q12125864\",\"Q57669\",\"Q168667\",\"Q141410\",\"Q166028\"],
  \"Reyna\":[\"Q7573462\",\"Q2892895\",\"Q363257\",\"Q151944\",\"Q3740321\",\"Q2857439\",\"Q1453358\",\"Q7319529\",\"Q733716\",\"Q16151941\",\"Q7159448\",\"Q5484172\",\"Q6074271\",\"Q1753185\",\"Q7319532\",\"Q5171205\",\"Q3183869\",\"Q1818527\",\"Q251862\",\"Q3840414\",\"Q5271282\",\"Q5606181\"]
}"

并用该数据生成一个Map<String, HashSet<String>>

本质上,我想逆转过程。

这个项目的所有代码都可以在我的github页面上找到,它很短。


更新

        File f = new File("/home/matthias/Workbench/SUTD/nytimes_corpus/wdtk-parent/wdtk-examples/JSON_Output/user.json");

        String jsonTxt = null;

        if (f.exists())
        {
            InputStream is = new FileInputStream("/home/matthias/Workbench/SUTD/nytimes_corpus/wdtk-parent/wdtk-examples/JSON_Output/user.json");
            jsonTxt = IOUtils.toString(is);


        }
        //System.out.println(jsonTxt);


        Gson gson=new Gson(); 


        Map<String, HashSet<String>> map = new HashMap<String, HashSet<String>>();
        map=(Map<String, HashSet<String>>) gson.fromJson(jsonTxt, map.getClass());

        //// \\ // ! PRINT IT ! // \\ // \\ // \\ // \\ // \\ // \\
       for (Map.Entry<String, HashSet<String>> entry : map.entrySet()) 
       {
           System.out.println(entry.getKey()+" : " + Arrays.deepToString(map.entrySet().toArray()) );
       }
电脑研究员

使用 Gson

Gson gson = new Gson(); 
String json = "<YOUR_JSON_STRING_HERE>";
Map<String, HashSet<String>> map = new HashMap<String, HashSet<String>>();
map = (Map<String, HashSet<String>>) gson.fromJson(json, map.getClass());

更新:

TypeToken

Type type = new TypeToken<Map<String, HashSet<String>>>(){}.getType();
map = (Map<String, HashSet<String>>) gson.fromJson(json, type);

或者您可以解析它...

  • 创建一个对象 JSONObject
  • 创建一个对象 HashMap
  • 遍历jsonObj.keys()并为每keyGETvalue一样jsonObj.getString(key)
  • 把它mapmap.put(key, value)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将HashSet解析为JSONObject String

LINQ:将 HashSet<Dictionary<String, String>> 转换为 Dictionary<String, HashSet<Dictionary<String, String>>> 时出错

如何使用HashSet检查多个String的长度

Java 8:筛选数组(NxM)以创建Map <String,HashSet <String >>

将List <String>转换为HashSet <String> Java的好处

如何将JavaScript对象转换为Map [String,String]?

如何让Spark将JSON转义的String字段解析为JSON对象,以推断DataFrames中的适当结构?

如何将多个Map <String,String>解包到Json

从HashSet <String>转换为String []

Flattern字典<string,HashSet <string >>

将Json解析为String

让Jackson将Json对象解析为原始String

如何将String解析为默认值的int?

如何将String数组解析为不同的原始数组

Android如何将Api中的String解析为int

如何将DWORD和LPBYTE解析为std :: string

作为Groovy中String到String列表的Map,如何将String映射为String?

如何将值解组为 map[string][int] 类型的 json 结构

如何将 Java 对象列表转换为 Map<String, Map<String, String>>

如何在richTextBox中显示HashSet <SortedSet <string >>集合?

如何检索 HashSet<Tuple<string, int>> 的第二项

将JSON解码为map [string] map [string] string

将XmlTextWriter对象解析为String

如何自动将String @RequestBody解析为json

如何将JSON值保留为String?

如何将arrayList <String>转换为json对象

如何将键/值对String转换为JSON对象?

如何将 List<String[]> 放入 Map<String, List<String>>

如何将Set [String]转换为Map [String,String]?