将String转换为Set <object>

时间:2018-02-27 10:23:01

标签: java string set

我有一个像下面的字符串

MyString中

[{"id":123,"name":"Abc"},{"id":124,"name":"EDF"}]

我需要使用Set

将其转换/映射到我的班级(Test)

测试

public class Test {
    int id;
String name;
}

我尝试过以下方法,但没有成功。

    Set<Test> meds = (Set<Test>) (Object) MyString;

例外是

  
    

java.lang.ClassCastException:java.lang.String无法强制转换为java.util.Set

  

2 个答案:

答案 0 :(得分:0)

这是一个json对象,您需要使用解析器。例如,查看GSON。

答案 1 :(得分:0)

使用Jackson库将String转换为对象集。

您无法直接转换它。

TypeReference<Set<Test>> ref = new TypeReference<Set<Test>>() {};
try {
    new ObjectMapper().readValue("[{\"id\":123,\"name\":\"Abc\"},{\"id\":124,\"name\":\"EDF\"}]", ref);
} catch (IOException ignored) {
    // stub
}

当然不要忘记将getter和setter添加到Test类