Json的常用方法[通俗易懂]

Json的常用方法[通俗易懂]Json的常用方法

大家好,又见面了,我是你们的朋友全栈君。

Java中的json

在java中要想方便的操作json首先要引入json的jar包,如json-lib-2.4-jdk15.jar

下面是一些常用的方法:

Map<String,String> map1 = new HashMap<String,String>();
map1.put("username","liuwei");
map1.put("psw", "123");
//Map转换为json对象
//方法一:转换为带有key值的json对象
JSONObject json0 = new JSONObject();
json0.put("mapJson=", map1);
System.out.println("json0="+json0);
//方法二:转化为不带有key值的json对象
JSONObject json1 = JSONObject.fromObject(map1);
//Map对象转化为json数组
JSONArray mapArr = JSONArray.fromObject(map1);

ListMap转化为json对象

//方法一:转化为没有key值的json对象
List<Map<String,String>> listMap = new ArrayList<Map<String,String>>();
Map<String,String> map2 = new HashMap<String,String>();
map2.put("username", "zhangsan");
map2.put("psw", "46732");
listMap.add(map1);
listMap.add(map2);
JSONArray jsonArray = JSONArray.fromObject(listMap);

//f方法二:转化为带有key值的json对象
JSONObject json5 = new JSONObject();
json5.put("1", listMap);

json数组转化为带有key值的json对象

JSONObject jsonobj2 = new JSONObject();
jsonobj2.put("newuser", jsonArray);
jsonobj2.put("otheruser", jsonArray2);

json对象转换为json字符串

String jsonstr =  jsonobj2.toString();

json字符串转换为json对象

JSONObject jsonObj = JSONObject.fromObject(jsonstr);

获取json对象的key获取属性值,并可以转化为map

Map<String,String> map = new HashMap<String,String>();
map.put("username", jsonObjOne.getString("username"));
map.put("psw", jsonObjOne.getString("psw"));

json数组转化为ListMap

List<Map<String,String>> list4 = new ArrayList<Map<String,String>>();
for(int i = 0;i < jsonArr2.size();i++){
JSONObject jsonObjOne = jsonArr2.getJSONObject(i);
Map<String,String> map = new HashMap<String,String>();
map.put("username", jsonObjOne.getString("username"));
map.put("psw", jsonObjOne.getString("psw"));
list4.add(map);

Js中的json

           /**
			 *JSON.parse  字符串转成对象
			 * 参数1:字符串
			 * 参数2:执行函数,有返回值
			 * @type {string}
			 */
			var parseTest = function() {
				var data = '{"data":[],"parmas":{}}';
				return JSON.parse(data, function(key, val) {
					return val;
				});
			};
			console.log(parseTest());
			/**
			 * JSON.stringify 对象转换为字符串。
			 * 参数1:js对象
			 * 参数2:执行函数,有返回值
			 * 参数3:文本添加缩进、空格和换行符,如果参数是一个数字,则返回值文本在每个级别缩进指定数目的空格,如果参数大于10,则文本缩进10个空格。参数可以使用非数字,如:\t
			 */
			var stringifyTest = function() {
				var data = {
					"data": [1],
					"parmas": {
						"key": 1
					}
				};
				return JSON.stringify(data, function(key, val) {
					return val;
				}, 1);
			};
			console.log(stringifyTest());

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106627.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【7】进大厂必须掌握的面试题-Java面试-Jsp

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 1. jsp的生命周期方法是什么? 方法 描述 公共无效的jspInit() 与servlet的init方法相同,仅…

    2021年6月23日
    103
  • 微信公众号推广_微信公众号名字

    微信公众号推广_微信公众号名字微信5.0发布2013年8月5日,伴随着微信5.0iPhone版的发布,公众平台也进行了重要的更新,主要包括:1)运营主体为组织,可选择成为服务号或者订阅号;2)服务号可以申请自定义菜单;3)使用QQ登录的公众号,可以升级为邮箱登录;4)使用邮箱登录的公众号,可以修改登录邮箱;5)编辑图文消息可选填作者;6)群发消息可以同步到腾讯微博。其中,大家议论最多的当属前两

    2022年9月1日
    6
  • 用sql创建索引_sqlserver索引的建立与使用

    用sql创建索引_sqlserver索引的建立与使用index_mode自定义索引名cn_name表名car_mode列名1.创建普通索引SQLCREATEINDEX语法在表上创建一个简单的索引。允许使用重复的值:注释:“column_name”规定需要索引的列。2.创建唯一索引SQLCREATEUNIQUEINDEX语法在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。3.实例CREATEINDEX实例本例会创建一个简单的索引,名为“PersonIndex”,在Person表的Las

    2025年8月26日
    27
  • anaconda安装教程环境变量(如何配置环境变量)

    Linux安装anaconda的步骤:下载anaconda的安装包,后缀名为.sh,然后在root用户下执行bashXXX.shLinux配置anaconda环境变量:1、命令的路径在/usr/local/anaconda3/bin;2、通过vim/etc/profile,在文件的末尾添加PATH=$PATH:/usr/local//anaconda3/binex…

    2022年4月10日
    183
  • ubuntu16.04 svn配置「建议收藏」

    ubuntu16.04 svn配置「建议收藏」虽然目前最流行的项目托管平台是github,其分布式的存储思想非常先进,对于项目的敏捷开发也非常有好处。但缺点在于操作略显复杂,上手需要一定成本。而svn相比git操作简单许多,上手几乎无难度,适用于项目的管理。虽然目前有很多svn的使用方法,但对其使用却描述不够具体或者不够连续,接下来详细写出本人在ubuntu16.04下配置svn并上传至taocode托管平台的步骤:首先安装

    2025年11月6日
    3
  • c语言 windows多线程_C语言 多线程

    c语言 windows多线程_C语言 多线程_beginThreadex创建多线程解读一、需要的头文件支持 #include         //for_beginthread()需要的设置:ProjectàSetting–>C/C++–>Userrun-timelibrary选择DebugMultithreaded或者Multithreaded。即使用:MT或MTD。二、解释

    2022年10月7日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号