将JSON字符串转换为JSON对象以获取值 [英] Convert JSON String to JSON object to get Values
本文介绍了将JSON字符串转换为JSON对象以获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在获取JSON字符串,并希望通过JSP在控制台上打印Name值.有人可以建议如何做吗?
I am getting a JSON string and want to print Name values on the console via JSP. Can someone suggest how to do it?
String AllCustomLockingCriterias = '{"TemplateArray":[{"Id":16,"Name":"Machine","type":"PM"},
{"Id":17,"Name":"Ethernet","type":"PM"},
{"Id":18,"Name":"Hard Disk","type":"PM"}]}';
我需要的输出:
Machine
Ethernet
Hard Disc
我想开始一个循环,我的输出将是:
I want to start a loop and my output will be:
Machine
Ethernet
Hard Disc
推荐答案
- 使用Gson jar包(由google.com生产),FastJson(由alibaba.com产生)或jackson来序列化或反序列化json字符串和Class对象.一个jar包就足够了.
- 使用maven pom依赖项/渐变配置将gson添加到您的项目中,或将gson jar直接添加到您的lib文件夹中,完全由您决定,首选maven.
- 使用您的json字符串中的元信息(例如'id','name','type')定义Java Class字段成员.JavaClass可以命名为'Template'(不要忘记实现Java可序列化的界面).
- 代码示例:
Gson gson = new Gson();
TypeToken typeToken = new TypeToken<List<Template>>() {};
Type type = typeToken.getType();
List<Template> templates = gson.fromJson(json, type);
- 将模板列表返回到jsp页面范围内的最前面的jsp页面. 如果您使用springMVC框架,则可以将模型参数添加到方法参数中,
- return the templates list to the front jsp page within the jsp page scope. if you user springMVC framework,you can add a model param to the method params,
@RequestMapping(value = "/test",method = RequestMethod.GET)
public String test(Model model){
model.addAttribute("templates",templates);
return "jspFileName";
}
- 对于jsp网站,您可以使用jsp EL Express显示列表
<c:forEach items="${templates}" var = "template">
${template.name}
</c:forEach>
- 最后但最简单的方法是,您可以将json字符串传递到jsp页面.换句话说,不需要将json字符串序列化为class,只需将字符串传递给具有model属性的jsp由springMVC甚至是基本的Servlet提供.然后使用javascript方法处理json字符串.例如,
var obj = JSON.parse(json);
var array = obj.TemplateArray;
array.foreach(function(item) {
console.log(item.name);
});
这篇关于将JSON字符串转换为JSON对象以获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文