2019独角兽企业重金招聘Python工程师标准>>>

1.Java中导入包:

①commons-lang-2.5.jar

②commons-beanutils.jar

③commons-collections-3.2.1.jar

④commons-logging-1.1.1.jar

⑤ezmorph-1.0.6.jar

⑥json-lib-2.4-jdk15.jar

2.关于JSONArray和JSONObject:

①JSONArray是一个动态数组,个人认为类似ArrayList一类吧。

②JSONObject是一种键值对的集合,个人认为类似HashMap吧。

3.既然集合里面都有这些类似的东西了,那么为什么还要使用JSON呢?个人认为:我也不知道,那不是ArrayList的toString() 方法也是打印出其具体字符串内容嘛,为啥还用JSON呀?

4.好了,开始代码吧:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.ListIterator;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Json {public static void main(String[] args) {JSONObject jsObj1 = new JSONObject();jsObj1.put("gao", "111");//大唐名将:高仙芝jsObj1.put("xian", "222");jsObj1.put("zhi", "333");System.out.println("通过构造器构造的JSONObject对象1:" + jsObj1);JSONObject jsObj2 = new JSONObject();jsObj2.put("gao", "1111");jsObj2.put("xian", "2222");jsObj2.put("zhi", "3333");System.out.println("通过构造器构造的JSONObject对象2:" + jsObj2);JSONObject jsObj3 = new JSONObject();jsObj3.put("gao", "11111");jsObj3.put("xian", "22222");jsObj3.put("zhi", "33333");System.out.println("通过构造器构造的JSONObject对象3:" + jsObj3);JSONArray jsArr1 = new JSONArray();jsArr1.add(jsObj1);jsArr1.add(jsObj2);jsArr1.add(jsObj3);System.out.println("通过构造器构造的JSONArray对象1:" + jsArr1);String str = jsArr1.toString();System.out.println("JSONArray对象1转换成String对象str后的内容:"+str);List<Map<String, String>> listMap = new ArrayList<Map<String, String>>();JSONArray jsArr2 = JSONArray.fromObject(str);System.out.println("JSON格式的字符串str转换成JSONArray之后的JSONArray对象2:"+jsArr2);for (int i = 0; i < jsArr2.size(); i++) {JSONObject obj = JSONObject.fromObject(jsArr2.get(i));Map<String, String> map = new HashMap<String, String>();map.put("gao", obj.getString("gao"));map.put("xian", obj.getString("xian"));map.put("zhi", obj.getString("zhi"));listMap.add(map);}System.out.println("JSONArray对象2jsArr2转换成List<Map<String, String>>对象listMap后:"+listMap);System.out.println("解析完成后:");ListIterator iterator=listMap.listIterator(0);while(iterator.hasNext()){Map<String, String> map = new HashMap<String, String>();map=(Map<String, String>) iterator.next();System.out.println(map.get("gao"));System.out.println(map.get("xian"));System.out.println(map.get("zhi"));}}
}

5.总结:个人写这个呢,是为了实现Java的Servlet服务器向安卓客户端传输数据所用,这只是在Java文件中解析JSON字符串,好像安卓里面的JSON的定义和Java中的不会都一样吧,不过方法差不多了。

转载于:https://my.oschina.net/u/1415486/blog/318526

Java中的JSON相关推荐

  1. 在java中表示json_在Java中解析JSON而不知道JSON格式

    我试图解析在Java中的JSON字符串,并找到键值对,使我可以确定JSON对象的近似结构,因为JSON字符串的对象结构是未知的. 例如,一个执行可能有一个JSON字符串,如下所示: {"id ...

  2. 码这么多字只为搞懂如何在Python和Java中使用JSON

    目录 1 JSON是什么? 1.1 JSON是众多编程语言共同的"简谱" 1.2 JSON是一种高度结构化的文本 2 如何在Python中使用JSON 2.1 内置库json的编码 ...

  3. java+解析未知json_在Java中解析JSON时如何忽略未知属性– Jackson @JsonIgnoreProperties注释示例...

    java+解析未知json 使用Jackson API在Java中解析JSON时的常见问题之一是,当您的JSON包含未知属性(即您的Java类没有对应于所有JSON属性的所有字段)时,该操作将失败. ...

  4. java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧

    java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...

  5. 如何在Java中转义JSON字符串-Eclipse IDE技巧

    在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. 这是测试和学习Java中解 ...

  6. java中使用json import_JAVA中使用JSON

    JSON 语法是 JavaScript 对象表示语法的子集. 数据在键值对中: 键值对由冒号分隔: 数据由逗号分隔: 花括号保存对象: 方括号保存数组: 示例: { "people" ...

  7. Java中使用json时java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决

    Java中使用json时java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher问题解决 参考文章: (1)Java中使用json时java.lan ...

  8. Java中的Json序列化,不容忽视的getter

    文章目录 前言 一.Java中的Json序列化,不容忽视的getter 二.问题重现 1.核心代码 2.问题分析 2.1常用 JSON序列化库 的序列化原理: 总结 前言 提示:这里可以添加本文要记录 ...

  9. Java中使用JSON数据传递

    一.Java中使用JSON数据传递 pom依赖引入 <dependency><groupId>com.alibaba</groupId><artifactId ...

最新文章

  1. 对电商用户的数据分析!
  2. linux 程序收到sigsegv信号_信号
  3. 浅谈Laravel中的设计模式(四) Contract 契约模式
  4. 为什么很多网逃抓不到_为什么很多人找不到长久合作的毛刷厂家?
  5. Angular 运行报错 RouterModule.forRoot() called twice.
  6. java 真数组 伪数组_伪数组(ArrayLike)
  7. python使用笔记(一)——遍历文件夹下的所有子目录
  8. excel转latex,markdown,html表格的神仙网站!科研必备!
  9. 理解Node.js的异步非阻塞I/O模型
  10. 【暴力】I Liked Matrix!
  11. numpy中多维数组的轴(axis)
  12. node2vec 包安装
  13. 免费自制app软件:在线生成APP只需一个URL
  14. oracle 拼音首字母查询,用Oracle的NLSSORT获取拼音首字母
  15. MVX-Net | 多模型三位像素网络用于3D目标检测
  16. 雷曼 疯狂兔子 java_《雷曼:疯狂兔子》详细流程攻略+个人心得分享
  17. 手把手教你快应用接入微信H5网页支付
  18. Parallels Desktop 16 网络初始化失败,无法联网、无法连接USB的解决方法
  19. 苹果id账号密码忘记了怎么办?分享官方教程,快速重置!
  20. 参加《互联网技术创新和产业发展论坛》有感

热门文章

  1. 持续集成 - Hudson
  2. 服务器间无密码scp
  3. 设计模式————单例模式
  4. No mapping found for HTTP request with URI
  5. saltstack使用指南----常用执行模块
  6. SQLServer CDC数据迁移和数据抽取功能介绍 2
  7. C语言函数指针的使用
  8. linux修改ssh端口
  9. 最近的生活[发点牢骚]
  10. 程序设计类课程教学中创造技法的探索