`
332575101
  • 浏览: 20708 次
  • 性别: Icon_minigender_1
  • 来自: 齐齐哈尔
社区版块
存档分类
最新评论

JSON-LIB 学习笔记

阅读更多
JSON –LIB  完成json字符串的自动生成
java 的 工具集  完成的功能就是对json字符串的处理 
配合使用AJAX 太happy了
Android…等用的都是

sid:332575101
title:”擦”
content:”我擦”

导包 
json.jar
ezmorph.jar
commons-lang.jar
commons-collections.jar
commons-beanutils.jar  (主要对bean   就是对java 类的工具集  就可以把一个person对象的属性全自动赋值  )
commons-logging.jar

这些包 都在struts2 框架里    lib 里


建个test  导入Junit  addlib  


1转换一个对象到字符串   名值对   一想就是map 
JSONObject .formObject(map).toString()    这个工具把map转成JSON字符串
/**
* {"parentId":88888,"itemId":9999,"itemText":"岳元璞"}
* 转换一个对象,到 json字符串
*/
@Test
public void testJson1(){
Map map = new HashMap();
map.put("parentId", 88888);
map.put("itemId", 9999);
map.put("itemText", "岳元璞");

String jsonStr = JSONObject.fromObject(map).toString();
System.out.println(jsonStr);
}
打印结果
{"parentId":8888,"itemText":"岳元璞","itemId":9999}

2转换成一个普通的对象
User     首先你的domain包里都有这个类
/**
* 转换一个普通Java对象
* User
* {"id":1111,"username":岳元璞,"password":1234}
*/
@Test
public void testJson2(){
User user = new User();
user.setId(1111);
user.setUsername("岳元璞");
user.setPassword("1234");

String jsonStr = JSONObject.fromObject(user).toString();
System.out.println(jsonStr);
}
{"id":1111,"username":"岳元璞","password":"1234"}

3从集合进行转换成JSON字符串
[{“id”: 1111,”userna”},{“id” : ,},{ },{ } ]
/**
* [{"id":1111,"username":"岳元璞","password":"1234"},{},{},{},{}]
*/
@Test
public void testJson3(){
List<User> userList = new ArrayList<User>();
for(int i=0;i<10;i++){
User user = new User();

user.setId(1111 + i);
user.setUsername("岳元璞" + i);
user.setPassword("1234" + i);
userList.add(user);
}
String jsonStr = JSONArray.fromObject(userList).toString();
System.out.println(jsonStr);
}
[{"id":1111,"username":"岳元璞0","password":"12340"},{"id":1112,"username":"岳元璞1","password":"12341"},{"id":1113,"username":"岳元璞2","password":"12342"},{"id":1114,"username":"岳元璞3","password":"12343"},{"id":1115,"username":"岳元璞4","password":"12344"},{"id":1116,"username":"岳元璞5","password":"12345"},{"id":1117,"username":"岳元璞6","password":"12346"},{"id":1118,"username":岳元璞7","password":"12347"},{"id":1119,"username":"岳元璞8","password":"12348"},{"id":1120,"username":"岳元璞9","password":"12349"}]
4Myeclipse Ctrl  shift +f  快捷键   格式化的
多对一 先把组弄出来 确保你有Group这个类
/**
* [{"id":1111,"username":"岳元璞","password":"1234"},{},{},{},{}]
*/
@Test
public void testJson4(){

Group group = new Group();
group.setId(123);
group.setName("通信093");

Person person = new Person();
person.setId(1111);
person.setUsername("岳元璞");
person.setPassword("123");
person.setGroup(group);


String jsonStr = JSONObject.fromObject(person).toString();
System.out.println(jsonStr);
}
{"id":1111,"username":"岳元璞","group":{"id":123,"name":"通信093"},"password":"123"}
5对象嵌套
{success:true,data:{id:1111,username:”mm”}}
/**
* {success:true,data:{id:111,username:" 岳元璞"}}
*/
@Test
public void testJson5(){
Map map = new HashMap();
map.put("success", true);

Map dataMap = new HashMap();
dataMap.put("id", 111);
dataMap.put("username", "岳元璞");

map.put("data", dataMap);

String jsonStr = JSONObject.fromObject(map).toString();
System.out.println(jsonStr);
}
{"data":{"id":111,"username":"岳元璞"},"success":true}


6对象  数组套了又套
/**
*
* {success:true,data:[{id:111,username:" 岳元璞"},{},{},{}]}
*/
@Test
public void testJson6(){
Map map = new HashMap();
map.put("success", true);

//Map dataMap = new HashMap();

List<User> userList = new ArrayList<User>();
for(int i=0;i<3;i++){
User user = new User();

user.setId(1111 + i);
user.setUsername("岳元璞" + i);
user.setPassword("1234" + i);
userList.add(user);
}
//dataMap.put("data", userList);
map.put("data", userList);

String jsonStr = JSONObject.fromObject(map).toString();
System.out.println(jsonStr);
}
}

{"data":[{"id":1111,"username":"岳元璞0","password":"12340"},{"id":1112,"username":"岳元璞1","password":"12341"},{"id":1113,"username":"岳元璞2","password":"12342"}],"success":true}
分享到:
评论

相关推荐

    json-lib 学习笔记 分享下

    这个学习笔记主要围绕`json-lib`的使用方法和关键特性进行阐述。 首先,`json-lib`支持多种Java对象到JSON的转换,包括基本类型、数组、集合、Map以及自定义的Java类。例如,你可以通过以下方式将一个HashMap转换为...

    《JSON-lib框架,转换JSON、XML不再困难》学习笔记

    3. JSON对象与JSON数组的创建:学习笔记可能介绍如何使用JSON-lib创建JSON对象和数组。例如,你可以通过`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类来实现。 4. Java对象转换为JSON:JSON-lib提供了`...

    json 学习笔记_20140116.pdf

    在本文档《json 学习笔记_***.pdf》中,主要介绍了在Java开发中,如何使用三个常用的JSON处理工具:struts json,json_lib,jackson-mapper。同时,也提到了在使用这些工具时可能遇到的一些常见错误及其处理方法。 ...

    vue学习笔记,B站黑马程序员的javaweb

    Vue学习笔记 Vue是一个基于JavaScript的渐进式框架,用于构建用户界面。下面是关于Vue的学习笔记。 一、Vue基本知识 在Vue中,以点vue结尾的文件称为组件文件,包含三部分:template、script、style。template是...

    JSON学习笔记

    这篇"JSON学习笔记"可能涵盖了以下几个关键知识点: 1. JSON的基本结构:JSON数据由键值对(key-value pairs)组成,键和值之间用冒号隔开,键值对之间用逗号分隔。键必须是字符串,而值可以是字符串、数字、布尔值...

    Ext学习笔记-个人版.doc

    在Java中,处理JSON数据需要引入相关的库,如`json-lib`,并且要确保所有依赖的JAR文件都已正确添加。在Java代码中,可以使用`JSONArray`和`JSONObject`类将Java对象转换为JSON字符串: 1. `ArrayList`转换为`...

    day023-xml解析笔记和代码.rar

    数据交换格式(一般不用了,用json代替了) 2. 配置文件都使用XML格式,框架都是用xml和Properties作为配置文件。 1.3. 使用:(掌握) 语法: &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!--...

    girl项目学习笔记1

    ### Girl项目学习笔记1 #### 一、Spring Boot项目初始化与Maven镜像更换 **1.1 更换IDEA内置Maven镜像至阿里云中央仓库** 在启动Spring Boot项目之前,首先需要确保开发环境配置正确。对于使用IntelliJ IDEA作为...

    Apache_cxf_学习笔记.docx

    ### Apache CXF 学习笔记知识点汇总 #### 一、CXF简介 ##### 1.1 CXF概述 - **背景介绍**:Apache CXF 是一个高性能、功能丰富的开源框架,用于构建和消费 Web 服务。它融合了 Celtix 和 XFire 两个开源项目的...

    src & lib.zip

    标题“src & lib.zip”指的是一个包含Java Web开发中源代码(src)和库文件(lib)的...通过阅读文档、参考示例项目、完成练习,以及理解和应用src和lib中的代码,学习者能够逐步掌握Java EE平台的关键技术和开发流程。

    Android随手笔记44之JSON数据解析

    在Android开发中,JSON数据解析是一项重要的技能,它涉及到如何处理服务器端返回的数据以及如何在客户端展示这些数据。...通过不断实践和学习,开发者可以更好地利用JSON进行数据交换,提高应用的效率和用户体验。

    scala-advanced:Scala先进

    scala 入门进阶、常用类库学习 项目结构 模块说明 模块 说明 目的 完成 语言核心特性、特性深度分析示例、常用函数 入门 √ 练习题-std-lib 巩固基础 √ 练习题-Scala函数式编程 函数式编程思想进阶 × scala-谜题 ...

    struts学习笔记

    - **lib**:包含所有必要的JAR文件。 - **src**:包含源代码。 #### 二、Struts2框架开发步骤 **1. 搭建开发环境**: - **获取框架JAR文件**: - **Struts2核心库**:struts2.0-core.jar - **第三方依赖**:...

    小项目第四部分

    4. **JSON-lib-2.1-jdk15.jar**:这是一个JSON库的JAR文件,用于在Java中处理JSON格式的数据。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在SSH...

    Java中jqGrid 学习笔记整理——进阶篇(二)

    在本篇Java中jqGrid的学习笔记整理中,我们将聚焦于jqGrid与后台Java服务的数据交互。jqGrid是一款强大的JavaScript库,用于创建动态、交互式的表格,而这里的进阶篇(二)将涉及到如何通过Java后端来提供数据支持。 ...

    meteor-notes:流星笔记应用程序

    运行流星笔记应用程序的方法是,在命令行中输入 `meteor --settings config/development/settings.json`。这会启动 Meteor 服务器,并使用指定的设置文件来配置应用程序。确保在运行命令之前,你的工作目录是在 ...

    学习笔记(12):21天搞定分布式Python网络爬虫-urllib库-Cookie原理讲解

    本篇学习笔记将深入讲解Cookie的工作原理以及在`urllib`库中的应用。 Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器保存。它的主要用途是识别用户身份、维持会话状态,比如当你登录某个网站后...

    android 入门笔记

    Android入门笔记 1. 开发环境配置 在开始Android开发之前,首先需要配置好开发环境。Eclipse是一款经典的集成开发环境(IDE),适用于Android开发。你可以从以下地址下载Eclipse: - Eclipse下载地址:此处应填写...

Global site tag (gtag.js) - Google Analytics