将数组列表转换为json对象字符串
conversion of array list to json object string
我有一个模型类方法,它返回一个包含所有注册用户详细信息的对象列表。我想获取all()方法重新搜索的列表,并将数据转换为JSON对象,然后像字符串一样将其传递给视图。如何将此数组列表转换为JSON对象?
我无法通过以下方式做到这一点:
ObjectMapper mapper = new ObjectMapper();
JSONObject json = new JSONObject();
JsonNodeFactory jsonnode = JsonNodeFactory.instance;
ObjectNode result = new ObjectNode(jsonnode);
for (int i = 0; i < list.size(); i++) {
json.put(list.get(i).fname, list.get(i));
System.out.println(json.get("fname"));
}
@Entity
class Mydata extends Model {
@Id
public Long Id;
public String fname;
public String lname;
public String city;
public String state;
/****************** READ/select OPERATION *****************/
public static Finder < Long, Mydata > finder = new Finder(Long.class, Mydata.class);
public static List < Mydata > all() {
return finder.all();
}
public static void createuser(Mydata user) {
user.save();
}
}
要将ArrayList转换为Json,只需从以下位置下载开源Json实用程序:http://json.org/java/或来自此处的Jar文件
只要做:
JSONArray jsonAraay = new JSONArray(your_array_list);
就是
注意:您的POJO/MODEL类中应该有setter/getter来将arraylist转换为json
不用担心org.json,完全使用Jackson:
// list is a List<MyData>
final ObjectMapper mapper = new ObjectMapper();
final Map<String, MyData> map = new HashMap<>();
for (final MyData data: list)
map.put(data.fname, data);
final JsonNode json = mapper.valueToTree(map);
你可以像这里的其他人建议的那样使用各种第三方库,或者只使用Play自己的简化方法(在play.libs.Json
中找到),它可以与Jackson对象一起使用,但它被集成到框架中,需要使用的代码要少得多,例如:
JsonNode myJsonNode = Json.toJson(MyListObject);
将List转换为JsonNode对象,然后使用类似String jsonResult = Json.stringify(myJsonNode);
的东西将其转换为字符串表示。
如果您在模板中使用JSON,请不要忘记将其封装在类似@Html(myJsonString)
的东西中,这样它就不会转义任何内容。否则,如果您只是将纯JSON输出到浏览器,一个简单的return ok(jsonResult);
将起作用,因为Play将自动设置内容类型。
参考链接:http://www.playframework.com/documentation/api/2.0/java/play/libs/Json.html
您看过这个吗:http://www.json.org/javadoc/org/json/JSONObject.html#valueToString(java.lang.Object)
JSONObject.valueToString(<<your list of custom object>> OR <<objects>> OR <<map>>)
工作得很好。。。如果你感兴趣的话,这个库上还有其他一些方法。。。。
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何为json对象中的段发送array[]
- 将JSON对象传递给angular指令
- 更改JSON对象的结构
- 访问JSON对象内部的数组元素
- 在ejs-partial中对JSON对象进行迭代
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 访问嵌套JSON对象的键,其中键是动态的
- json对象中缺少对象循环
- 发送json对象或使用express路由呈现视图
- 在play2框架中向json对象添加下拉列表项
- 元素名称上带有短划线 (-) 字符的 Json 对象
- autocomplete不接受源的json对象
- 如何在javascript中创建动态json对象
- 在使用客户端脚本时拾取JSON对象
- 如何通过json对象数组为嵌套对象赋值
- 构造JSON对象