将List <class>转换为String JAVAI

时间:2018-02-19 11:18:35

标签: java string list

我有一个值列表,这是

List<Test> myList;

public class Test {
    String type;
    String value;
}

当我调试List Value看起来像

Test(type=6140, value=2017)
Test(type=6144, value=2017)

我想将其转换为字符串

所以我试着用

List<Test> myList;

StringBuilder abc = new StringBuilder();
for(Object a: myList){
    abc.append(String.valueOf(a));
}

但结果将像

Test(type=6140, value=2017)Test(type=6144, value=2017)

但我想将值转换为

[{"type":6140,"value":"2017"},{"type":6144,"value":"2017"}]

3 个答案:

答案 0 :(得分:2)

您可以覆盖类'Test'中的ToString()函数,也可以使用JSON序列化对象。 JSON会给你一个比想要的其他但相似的输出。 因此,覆盖函数ToString()将更符合您的需求。

答案 1 :(得分:2)

尝试使用GSON 包含库后,这个任务可以很简单 Gson gson = new Gson(); String jsonString = gson.toJson(myList)

答案 2 :(得分:0)

如果在类Test中覆盖toString方法,则输出将按照您的预期进行。

@Override
public String toString() {
    return "{" +
            "type=" + type +
            ", value=" + value +
            '}';
}

<强>输出:

[{&#34;类型&#34;:6140,&#34;值&#34;:&#34; 2017&#34;},{&#34;类型&#34;:6144,&#34 ;值&#34;:&#34; 2017&#34;}]