众所周知,json是一个轻量级数据传递工具,页面上使用后台传递的json数据对象然后解析展示在页面上。了解json可以参考http://www.w3school.com.cn/json/json_syntax.asp。这是json的语法很简单。
数组:[]
对象:{}
取数组元素:[i]
去对象元素:.
下面贴代码,根据代码了解json
这个类是json的测试类
package com.sinosoft.util;
import ins.framework.web.Struts2Action;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JsonTest extends Struts2Action {
public static void main(String args[]){
Dog g = new Dog(); //
ShiZi sz = new ShiZi(); //
sz.setAge(1); //
sz.setTizhong(0.23);
g.setName("abc") ;
g.setShizi(sz);
JSONObject jo = new JSONObject();
Map<String, String> m = new HashMap<String, String>();
m.put("1", "a");
m.put("2", "b");
m.put("3", "c");
Map<String, String> m1 = new HashMap<String, String>();
m1.put("1", "a");
m1.put("2", "b");
m1.put("3", "c");
List<Map> list = new ArrayList<Map>();
list.add(m);
list.add(m1);
JSONArray ja1 = JSONArray.fromObject(m);
JSONArray ja2 = JSONArray.fromObject(list);
JSONArray ja3 = JSONArray.fromObject(g);
System.out.println(ja1.toString());
System.out.println(ja2.toString());
System.out.println(ja3.toString());
jo.put("date1", ja1);
jo.put("date2", ja2);
jo.put("date3", ja3);
System.out.println(jo.toString());
try {
Connection conn = getConn();
Statement sm = conn.createStatement();
ResultSet rs = sm.executeQuery("select u.uname,msg.content,msg.createTime from user u,usermsginfo um ,message msg where u.id = um.user_id and um.message_id = msg.id");
Map<String,String> maps = null;
List<Map> lists = new ArrayList<Map>();
while(rs.next()){
maps = new HashMap<String, String>();
maps.put("uname",rs.getString(1) );
maps.put("content", rs.getString(2));
maps.put("crateTime", rs.getDate(3).toString());
lists.add(maps);
}
JSONArray ja4 = JSONArray.fromObject(lists);
JSONObject jo1 = new JSONObject();
jo1.put("date", ja4);
System.out.println(jo1.toString());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConn() throws Exception{
Class.forName("com.mysql.jdbc.Driver");
return DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
}
}
这个是测试类用的Dog类,Dog类里面又有一个类ShiZi
package com.sinosoft.util;
public class Dog {
private String name;
private ShiZi shizi;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public ShiZi getShizi() {
return shizi;
}
public void setShizi(ShiZi shizi) {
this.shizi = shizi;
}
public void shark(){
System.out.println("叫");
}
}
ShiZi类
package com.sinosoft.util;
public class ShiZi {
private int age;
private double tizhong;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getTizhong() {
return tizhong;
}
public void setTizhong(double tizhong) {
this.tizhong = tizhong;
}
}
打印结果:[{"3":"c","2":"b","1":"a"}]
[{"3":"c","2":"b","1":"a"},{"3":"c","2":"b","1":"a"}]
[{"name":"abc","shizi":{"tizhong":0.23,"age":1}}]
{"date3":[{"name":"abc","shizi":{"tizhong":0.23,"age":1}}],"date2":[{"3":"c","2":"b","1":"a"},{"3":"c","2":"b","1":"a"}],"date1":[{"3":"c","2":"b","1":"a"}]}
{"date":[{"content":"aa","uname":"abc","crateTime":"2012-03-15"},{"content":"GADRGADSGASDG","uname":"abc","crateTime":"2012-04-09"},{"content":"argeargearg","uname":"abc","crateTime":"2012-04-09"}]}
请参考打印结果来对比程序,这样你会很好明白java怎么构建成json的。然后通过servlet的out对象将json写道页面,这样你就可以在页面使用json对象了。
我简单介绍一下吧,如果是标准pojo对象那么通过JSONArray.fromObject(对象A)那么它将会将对象A包装成{A对象属性1:属性值1...A对象属性n:属性值n}。纯list对象里面放着[a,b,c,d]那么通过JSONArray.fromObject转换之后变为{1:a,2:b,3:c,4:d}。如果list里面放的是map那么就会打印出[{"3":"c","2":"b","1":"a"},{"3":"c","2":"b","1":"a"}]。尽量使用list里面放map这种格式,因为后期你在页面取值的时候方便一些!!!
分享到:
相关推荐
json对象的创建和解析,java的json对象实例
Java对Json的一系列操作(构建、json与对象的转换),详细介绍了在Java中,对json数据的创建、以及字符串、对象与json的相互转换
JSON入门Java篇-5-用JavaBean来构建JSON.rar
json数据交互时作为校验是否通过,用于后台需要构建json返回前台必备
JSON入门Java篇-4-用HashMap来构建JSON.rar
JSON入门Java篇-3-用json.org来构建JSON数据并输出.rar
该模块通过解决上述困难和以下方面,提供了一种用于构建JSON结构的替代API: 支持不可变且可变的构建器语义。 延续先前指定的路径。 增强先前指定的路径。 默认对象值。 数组串联。 用法 包含依赖项 ...
用 Java 构建 JSON 使用 Scala 构建 JSON 使用 Java 使用 JSON(请求正文) 在 Java 中: ObjectMapper mapper = new ObjectMapper (); mapper . configure( DeserializationFeature . FAIL_ON_UNKNOWN_...
JsonBuilder项目旨在解决学习用Java构建JSON结构的多种方法的问题。 如果您经常遇到本质上构建JSON结构的不同库,并且在构建那些结构时不仅仅依赖于对象的序列化,那么JsonBuilder将有助于提高生产率。 它通过提供...
利用JSON-RPC-Java构建下一代Web应用程序.zip
Java的JSON-RPC 该项目旨在提供轻松实现Java编程语言的JSON-RPC的功能。 jsonrpc4j使用库在json对象(以及与JSON-RPC相关的其他东西)之间来回转换java对象。 功能包括: 流服务器( InputStream \ OutputStream ...
树型表结构,查询一次就可以构建出一个JSON的数据结构树,适用于EXT树
项目目标包括: 可靠一致的结果遵守JSON规范易于构建,使用并包含在其他项目中没有外部依赖快速执行和低内存占用保持向后兼容性设计并经过测试可在Java版本1.6-1.11上使用该软件包中的文件实现JSON编码器和解码器。...
Java中的JSON [package org.json] 概述 是一种轻量级的,独立于语言的数据交换格式。 JSON-Java软件包是一个参考实现,演示了如何将JSON文档解析为Java对象以及如何从Java类生成新的JSON文档。 项目目标包括: ...
Java使用Jersey框架构建 RESTful Web服务返回json数据所需的jar包。Jackson-core-asl.jar / Jackson-jaxrs.jar / Jackson-mapper-asl.jar / Jackson-xc.jar / jersey-media-json-Jackson.jar
使用Spring4 MVC 构建RESTful服务器,输出JSON格式的数据结构
圣诞节到了,我为大家送上java版的纯json数据构建树的demo,嘻嘻有了这个demo想建多少棵圣诞树也不是问题!送给各位位辛勤劳动的软件工程师们,祝大家圣诞快乐,新年快乐!身体健康,事业有成哦!
积分java源码 JSON 词法分析器和解析器 :globe_with_meridians: 用 JFLEX 和 CUP 编写。 根据官方 ECMA-404 JSON 数据交换标准构建(请参阅 参考资料) 概述 这个 JSON 解析器将接受一个输入,然后根据官方 JSON ...
基于org.json,使用java反射机制和注解快速构建json的工具