众所周知,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这种格式,因为后期你在页面取值的时候方便一些!!!
分享到:
相关推荐
这可以通过在IDE的构建配置中添加库,或者在命令行运行Java程序时使用`-cp`或`-classpath`选项指定。一旦添加成功,就可以通过导入相关的类和方法来实现XML和JSON的转换。 在Java中,转换通常涉及到以下步骤: 1. ...
Java在企业级应用中尤为流行,尤其是在构建大型的网络应用程序方面。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON经常用于服务器与Web应用...
本文将深入探讨Java对JSON的一系列操作,包括如何构建JSON对象,以及如何进行JSON与Java对象之间的转换。 一、JSON对象构建 1. JSON基本类型:JSON主要包含两种基本类型,对象(Object)和数组(Array)。对象以大...
在Java中,处理JSON对象通常涉及到创建JSON对象和解析JSON字符串。接下来,我们将深入探讨这两个关键知识点。 **一、创建JSON对象** 在Java中,我们主要使用两个流行的库来处理JSON:`org.json` 和 `...
- JSON包通常还包括其他辅助类,如`JSONTokener`用于解析JSON字符串,`JSONPointer`用于通过JSON指针访问JSON结构,以及`JSONStringer`和`JSONWriter`帮助构建JSON文本。 7. **第三方库** - 虽然Java标准库提供了...
总结,通过JavaBean构建JSON是Java开发中常见的数据处理方式,Gson和Jackson提供了一流的支持。理解并熟练运用这些工具,能够极大地提高开发效率,同时使代码更易于维护和扩展。通过学习和实践,开发者可以轻松地在...
在处理JSON时,可能需要用到集合操作,例如构建JSON数组或处理嵌套的对象。 4. **commons-lang-2.6.jar.zip**:Apache Commons Lang提供了一系列有用的Java语言实用工具,如字符串处理、日期和时间操作等。在JSON...
确保所选库与你的Java环境兼容,如JDK版本和项目构建系统(如Maven或Gradle)。 8. 错误处理: 在实际应用中,处理JSON解析错误是必不可少的,例如JSON格式错误、网络通信问题等。你需要适当地捕获和处理这些异常...
在这个“java转json测试项目”中,我们主要关注的是如何将Java对象转换为JSON格式,以及使用两种不同的JSON库——阿里巴巴的FastJSON和开源的json-lib(通过其子包net.sf.json.JSONObject)进行操作。 首先,...
Apache Commons Lang提供了`org.apache.commons.lang3.builder.JsonBuilder`和`org.apache.commons.lang3.builder.JsonToStringStyle`,可以用来构建JSON表示的Java对象。 使用示例: ```java MyJavaObject obj...
本文将详细介绍几种常用的在Java中构建JSON对象的方法,并通过具体的代码示例进行说明。 #### 一、使用`net.sf.json.JSONObject` 在早期的Java开发中,`net.sf.json.JSONObject`是一个非常流行的库,用于创建和...
这个方法会自动调用对象的getter方法来获取属性值,从而构建JSON字符串。 接下来,我们展示了如何将JSON字符串反序列化回`User`对象。这里使用了`JSON.parseObject()`方法,传入JSON字符串和目标类型(`User.class`...
4. **JSONStringer**:提供了一个流式API来构建JSON结构,适合生成复杂的JSON字符串。 5. **JSONTokener**:用于解析JSON字符串到JSON对象或数组。 6. **JSONPointer**:根据JSON Pointer RFC 6901标准解析和修改...
Java解析JSON是一个常见的任务,特别是在开发Web服务或者处理API响应时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写...这些库的结合使用,可以构建出健壮、高效的JSON处理代码。
它可以将JSON字符串分解为一系列的标记,然后用这些标记构建JSON对象或数组。 4. `net.sf.json.JSONObject.toBean()`和`net.sf.json.JSONObject.fromObject()`:这两个方法分别用于将JSON对象转换为Java Bean和将...
在Java项目中,可以通过Maven或Gradle等构建工具添加依赖。例如,对于org.json库,Maven的依赖配置如下: ```xml <groupId>org.json <artifactId>json <version>20210307 ``` 总之,通过上述`getSortJson`...
在Java编程环境中,解析JSON数据是一项常见的任务,特别是在与Web服务交互、API开发或处理来自服务器的数据时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性和易于编写,被广泛用于...
以上这些库都是Java开发中常用的辅助工具,它们共同构建了一个强大的JSON处理环境。通过引入这些jar包,开发者可以更方便地进行JSON数据的解析、生成、转换和操作,提高开发效率并降低出错的可能性。在实际开发中,...
总结,Java中处理JSON到对象的转换,特别是面对多级嵌套的情况,关键在于理解JSON结构并构建相应的Java对象模型,然后利用如Jackson这样的库进行数据映射。通过熟练掌握这些工具和技巧,可以有效地在Java应用中处理...
这些库的组合使用可以构建一个强大的JSON处理环境。例如,你可以使用json-lib将Java对象转换为JSON字符串,然后通过commons-logging记录相关信息,而如果需要从XML数据中提取JSON,可以结合xom和json-lib来完成。...