[英]Modifying list object in java
我有一个对象清单-
List<Object> sample = new ArrayList<Object>();
它包含以下值-
[This is an apple., Ram is a boy., What is your name?].
我想这样修改它-
[{ "q": "This is an apple." }, { "q": "Ram is a boy" }, { "q": "What is your name?" }]
怎么做?
PS-我是Java新手。 感谢您的帮助。
您可以通过如下创建JSONObject
列表来做到这一点:
List<JSONObject> yourList = new ArrayList<JSONObject>();
for(Object obj: sample) {
JSONObject jsonObj = new JSONObject();
jsonObj.put("q",(String)obj);
yourList.add(jsonObj);
}
上面的代码将创建一个名为yourList
的新列表, yourList
带有所需的数据格式。
您可以将自定义模型用作:
class CustomObject {
String q;
...getters, setters etc
}
并进一步将其用作
List<CustomObject> = new ArrayList<CustomObject>();
这是如果您使用的是jdk8或更高版本:
import java.util.*;
import java.util.stream.*;
public class HelloWorld{
public static void main(String []args){
List<String> sample = new ArrayList<String>(Arrays.asList("This is an apple.", "Ram is a boy.", "What is your name?"));
System.out.println(sample);
List<Map<String,String>> transformed = sample.stream()
.map(p -> {Map<String,String> m = new HashMap<String,String>(); m.put("q",p); return m;})
.collect(Collectors.toList());
System.out.println(transformed);
}
}
编辑:代替List<Map<String,String>>
转换,您还可以使用Map.Entry<String,String>
以及您想要在列表中使用的键值对。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.