且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

将JSON字符串转换为JSON对象以获取值

更新时间:2023-01-16 08:06:22

  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);
});