`
zc985552943
  • 浏览: 291044 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Babe4ca6-5e6f-33aa-9078-762ee3ccfb7e
云计算--hadoop
浏览量:11870
5e98c2c1-2a82-3388-bc80-7fca0170bb12
redis解说
浏览量:27149
088014c7-4d3f-39ce-b72e-4ebe7046a134
MongoDB读书笔记
浏览量:16011
D2b74847-c860-3e26-96fe-3fa4498d6348
Maven读书笔记
浏览量:27240
688db20f-402d-3a1d-8188-d6153d6c7465
Java通信
浏览量:13679
社区版块
存档分类
最新评论

java构建json

    博客分类:
  • json
阅读更多

众所周知,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这种格式,因为后期你在页面取值的时候方便一些!!!

分享到:
评论

相关推荐

    java-json.jar.zip

    这可以通过在IDE的构建配置中添加库,或者在命令行运行Java程序时使用`-cp`或`-classpath`选项指定。一旦添加成功,就可以通过导入相关的类和方法来实现XML和JSON的转换。 在Java中,转换通常涉及到以下步骤: 1. ...

    java调用json参数的webservice

    Java在企业级应用中尤为流行,尤其是在构建大型的网络应用程序方面。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。JSON经常用于服务器与Web应用...

    Java对Json的一系列操作(构建、json与对象的转换)

    本文将深入探讨Java对JSON的一系列操作,包括如何构建JSON对象,以及如何进行JSON与Java对象之间的转换。 一、JSON对象构建 1. JSON基本类型:JSON主要包含两种基本类型,对象(Object)和数组(Array)。对象以大...

    json对象的创建和解析

    在Java中,处理JSON对象通常涉及到创建JSON对象和解析JSON字符串。接下来,我们将深入探讨这两个关键知识点。 **一、创建JSON对象** 在Java中,我们主要使用两个流行的库来处理JSON:`org.json` 和 `...

    JAVA中用到的json包

    - JSON包通常还包括其他辅助类,如`JSONTokener`用于解析JSON字符串,`JSONPointer`用于通过JSON指针访问JSON结构,以及`JSONStringer`和`JSONWriter`帮助构建JSON文本。 7. **第三方库** - 虽然Java标准库提供了...

    JSON入门Java篇-5-用JavaBean来构建JSON.rar

    总结,通过JavaBean构建JSON是Java开发中常见的数据处理方式,Gson和Jackson提供了一流的支持。理解并熟练运用这些工具,能够极大地提高开发效率,同时使代码更易于维护和扩展。通过学习和实践,开发者可以轻松地在...

    java与json互相转换的jar包

    在处理JSON时,可能需要用到集合操作,例如构建JSON数组或处理嵌套的对象。 4. **commons-lang-2.6.jar.zip**:Apache Commons Lang提供了一系列有用的Java语言实用工具,如字符串处理、日期和时间操作等。在JSON...

    Java_json.jar亲测可用

    确保所选库与你的Java环境兼容,如JDK版本和项目构建系统(如Maven或Gradle)。 8. 错误处理: 在实际应用中,处理JSON解析错误是必不可少的,例如JSON格式错误、网络通信问题等。你需要适当地捕获和处理这些异常...

    java转json测试项目(附带json jar包)

    在这个“java转json测试项目”中,我们主要关注的是如何将Java对象转换为JSON格式,以及使用两种不同的JSON库——阿里巴巴的FastJSON和开源的json-lib(通过其子包net.sf.json.JSONObject)进行操作。 首先,...

    java转json的包

    Apache Commons Lang提供了`org.apache.commons.lang3.builder.JsonBuilder`和`org.apache.commons.lang3.builder.JsonToStringStyle`,可以用来构建JSON表示的Java对象。 使用示例: ```java MyJavaObject obj...

    JAVA构造json对象的方法

    本文将详细介绍几种常用的在Java中构建JSON对象的方法,并通过具体的代码示例进行说明。 #### 一、使用`net.sf.json.JSONObject` 在早期的Java开发中,`net.sf.json.JSONObject`是一个非常流行的库,用于创建和...

    很好用的JAVA类转JSON工具:FastJSON (2).pdf

    这个方法会自动调用对象的getter方法来获取属性值,从而构建JSON字符串。 接下来,我们展示了如何将JSON字符串反序列化回`User`对象。这里使用了`JSON.parseObject()`方法,传入JSON字符串和目标类型(`User.class`...

    org.json java处理json数据

    4. **JSONStringer**:提供了一个流式API来构建JSON结构,适合生成复杂的JSON字符串。 5. **JSONTokener**:用于解析JSON字符串到JSON对象或数组。 6. **JSONPointer**:根据JSON Pointer RFC 6901标准解析和修改...

    java解析JSON所需的全部jar包

    Java解析JSON是一个常见的任务,特别是在开发Web服务或者处理API响应时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写...这些库的结合使用,可以构建出健壮、高效的JSON处理代码。

    Java解析Json所含的包

    它可以将JSON字符串分解为一系列的标记,然后用这些标记构建JSON对象或数组。 4. `net.sf.json.JSONObject.toBean()`和`net.sf.json.JSONObject.fromObject()`:这两个方法分别用于将JSON对象转换为Java Bean和将...

    java中对单层json进行key字母排序

    在Java项目中,可以通过Maven或Gradle等构建工具添加依赖。例如,对于org.json库,Maven的依赖配置如下: ```xml &lt;groupId&gt;org.json &lt;artifactId&gt;json &lt;version&gt;20210307 ``` 总之,通过上述`getSortJson`...

    JAVA解析JSON数据代码需要的多个jar包

    在Java编程环境中,解析JSON数据是一项常见的任务,特别是在与Web服务交互、API开发或处理来自服务器的数据时。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性和易于编写,被广泛用于...

    Java jar JSON依赖包

    以上这些库都是Java开发中常用的辅助工具,它们共同构建了一个强大的JSON处理环境。通过引入这些jar包,开发者可以更方便地进行JSON数据的解析、生成、转换和操作,提高开发效率并降低出错的可能性。在实际开发中,...

    json转对象(java 多级嵌套)

    总结,Java中处理JSON到对象的转换,特别是面对多级嵌套的情况,关键在于理解JSON结构并构建相应的Java对象模型,然后利用如Jackson这样的库进行数据映射。通过熟练掌握这些工具和技巧,可以有效地在Java应用中处理...

    java解析json的jar包

    这些库的组合使用可以构建一个强大的JSON处理环境。例如,你可以使用json-lib将Java对象转换为JSON字符串,然后通过commons-logging记录相关信息,而如果需要从XML数据中提取JSON,可以结合xom和json-lib来完成。...

Global site tag (gtag.js) - Google Analytics