将JSON字符串转换为JSON对象以获取值 [英] Convert JSON String to JSON object to get Values

查看:163
本文介绍了将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

推荐答案

  1. 使用Gson jar包(由google.com生产),FastJson(由alibaba.com产生)或jackson来序列化或反序列化json字符串和Class对象.一个jar包就足够了.
  2. 使用maven pom依赖项/渐变配置将gson添加到您的项目中,或将gson jar直接添加到您的lib文件夹中,完全由您决定,首选maven.
  3. 使用您的json字符串中的元信息(例如'id','name','type')定义Java Class字段成员.JavaClass可以命名为'Template'(不要忘记实现Java可序列化的界面).
  4. 代码示例:

Gson gson = new Gson();
TypeToken typeToken = new TypeToken<List<Template>>() {};
Type type = typeToken.getType();
List<Template> templates = gson.fromJson(json, type);

  1. 将模板列表返回到jsp页面范围内的最前面的jsp页面. 如果您使用springMVC框架,则可以将模型参数添加到方法参数中,
  1. 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";
}

  1. 对于jsp网站,您可以使用jsp EL Express显示列表

<c:forEach items="${templates}" var = "template">  
         ${template.name}
    </c:forEach>

  1. 最后但最简单的方法是,您可以将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆