在java中将各种类型数据转化为json和从json中取数据

首先,导入以下jar包

下面是各种类型转化为json和从json中取出数据的程序

package jsontest;

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 JsonMain {

	public static void main(String[] args) {
		getList(setList());
		getMap(setMap());
		System.out.println("其他的大同小异---------------------");
		System.out.println("将对象转化为json-------------------");
		System.out.println(setBean());
		System.out.println("将数组转化为json-------------------");
		System.out.println(setshuzu());
		System.out.println("将对象集合转化为json-----------------");
		System.out.println(setListBeans());

	}
	/**
	 * 建立list数组,并将其转换为json数据
	 * @return
	 */
	public static String setList(){
		List<String> list = new ArrayList<String>();
		list.add("one");
		list.add("two");
		list.add("three");
		list.add("four");
		JSONArray ja = JSONArray.fromObject(list);
		return ja.toString();
	}
	/**
	 * 建立map数组,并将其转化为json数据
	 * @return
	 */
	public static String setMap(){
		Map<String,String> map =new HashMap<String, String>();
		map.put("name", "xiaozhao");
		map.put("sex", "man");
		map.put("address", "China");
		JSONObject jb = JSONObject.fromObject(map);
		return jb.toString();
	}
	/**
	 * 建立对象,并将其转化为json数据
	 * @return
	 */
	public static String setBean(){
		UserBean ub = new UserBean();
		ub.setUsername("zd");
		ub.setPassword("zd");
		ub.setAge(23);
		ub.setAddress("henan");
		JSONObject jb = JSONObject.fromObject(ub);
		return jb.toString();
	}
	/**
	 * 建立数组,并将其转化为json数据
	 * @return
	 */
	public static String setshuzu(){
		Object [] shuzu = {"one",23,true,"four"};
		JSONArray jb = JSONArray.fromObject(shuzu);
		return jb.toString();
	}
	/**
	 * 创建对象的list,然后将其转化为json数据
	 * @return
	 */
	public static String setListBeans(){
		List<UserBean> list = new ArrayList<UserBean>();
		UserBean ub1 = new UserBean();
		ub1.setUsername("zz");
		ub1.setPassword("zz");
		ub1.setAge(23);
		ub1.setAddress("jinan");

		UserBean ub2 = new UserBean();
		ub2.setUsername("dd");
		ub2.setPassword("dd");
		ub2.setAge(24);
		ub2.setAddress("hebei");

		list.add(ub1);
		list.add(ub2);

		JSONArray ja2 = JSONArray.fromObject(list);
		return ja2.toString();
	}
	/**
	 * 将json数据转化为list
	 * @param list
	 */
	public static void getList(String list){
		System.out.println("list转换为json数据----------------------");
		System.out.println(list);
		JSONArray js = JSONArray.fromObject(list);
		System.out.println("将json数据转化为list---------------------");
		for(int i =0 ; i<js.size();i++){
			System.out.println(js.get(i));
		}
	}
	/**
	 * 将数据从map转化成的json中取出
	 * @param map
	 */
	public static void getMap(String map){
		System.out.println("map转化为json数据-----------------------");
		System.out.println(map);
		System.out.println("将数据从map转化成的json中取出---------------");
		JSONObject jb = JSONObject.fromObject(map);
		System.out.println(jb.get("sex"));
		System.out.println(jb.get("address"));
		System.out.println(jb.get("name"));
	}
}

其中Userbean是一个普通的实体类

下面是运行结果

时间: 2024-12-19 03:46:16

在java中将各种类型数据转化为json和从json中取数据的相关文章

非常标准的将数据保存到file并从file中读取数据。

字符流:Reader(读) Writer(写) 字节流:InputStream(读数据)  OutputStream(写数据) 1,字节流 InputStream(读),OutputStream(写) 2,字符流 Reader(读),Writer(写) 结论:只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用字节流. 向文件中写入内容 try { FileOutputStream fos = openFileOutput(INTERNAL_FILENAME , MODE_APPEND);

如何从json中取数据

首先,例如json数据如下书写: {"head": [ {"text":"广州","id":"广州","pid":"广东省"}, {"text":"郑州","id":"郑州","pid":"河南省"}], } 如上,倘若想将id和pid数据依次取出,

java中将int类型数据存到数组中

//定义一个数据 int number = 123456; //定义一个数组 int[] arr = new int[8]; //通过观察这个代码,我们发现应该是可以通过循环改进的 int index = 0; while(number > 0) { //number=123456,number=12345,number=1234,number=123,number=12,number=1,number=0 arr[index] = number%10; //arr[0]=6,arr[1]=5,

C#中,当从数据库中查询到数据,以DataTable类型返回后,如果需要对DataTable中的数据进行筛选,可以选择下面的方式

DataRow[] dr = _deptCodeDt.Select(string.Format(" ward_code = '{0}'", LocalSetting.WardCode)); if (dr.Length <= 0) return; DataTable tempT = new DataTable(); tempT = dr[0].Table.Clone(); //克隆表结构 DataSet tempDs = new DataSet(); tempDs.Tables.A

安卓开发前后台通信,从数据库中取数据并在前台以表格形式显示,以json格式传输

最近做了一个Android开发小demo,主要功能是在手机的ActionBar中的搜索栏,根据用户输入的名字从后台(java+Tomcat)数据库中取出该名字对应的一系列信息,然后通过json形式传到前台,并用表格的形式显示到前台. 跟大家分享一下,并且列出几个比较坑的点.但是只是列出了java文件和layout中的xml文件,drawable以及bean类没有列 涉及的知识点主要有: 利用HttpUrlConnection进行通信 数据库相关操作 利用json传输数据 后台代码的mvc模式 A

servlet从mysql中取数据时出现的汉字编码问题

取出的汉字都是问号 之后根据网友提示在输出之前对response进行编码设置 正常显示 原文地址:https://www.cnblogs.com/Mr-eclipse/p/10617861.html

Java实现Excel导入数据库,数据库中的数据导入到Excel

实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java.sql.Co

Java实现Excel导入数据库,数据库中的数据导入到Excel。。转载

自学资料总结 实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1.添加jxl.jar mysql-connector-java.1.7-bin.jar包到项目的lib目录下­ 2.Excel文件目录:D://book.xls 3.数据库名:javenforexcel 4.表名:stu 5.编写类:连接mysql的字符串方法.插入的方法.实体类­­ 表结构如下 : 连接数据库的工具类 package com.javen.db; import java

黑马程序员——【Java基础】——File类、Properties集合、IO包中的其他类

---------- android培训.java培训.期待与您交流! ---------- 一.File类 (一)概述 1.File类:文件和目录路径名的抽象表现形式 2.作用: (1)用来将文件或文件夹封装成对象 (2)方便于对“文件”与“文件夹属性信息”进行操作 (3)File对象,可以作为参数传递给流的构造函数 (二)构造方法 * 通过File的构造函数创建File对象 方式1:File f = new File("c:\\a.txt"); 方式2:File f2 = newF