Json数据字符串转化为数组
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json数据字符串转化为数组相关的知识,希望对你有一定的参考价值。
"201701:"01":"2","02":"1","07":"1","08":"1","14":"1","15":"1","21":"1","27":"2","28":"2","29":"2","30":"1","31":"1","201702":"01":"1","02":"1","05":"1","11":"1","12":"1","18":"1","19":"1","25":"1","26":"1"
有这样一个Json日期字符串
201701代表年和月
"01":"2","02":"1","07":"1","08":"1" 01,02,07,08代表日,2和1是代表类型
我需要把这个转化为20170101,20170102,20170107,20170108这样的数组或者字符串也行
用C#来做
反序列化成 Dictionary<string, Dictionary<string, string>> 就好了,这种不规范的 json 根本不需要创建定制类。 参考技术A 一个重要的前提是C#不支持纯数字作为类名或属性名追问
所以我才问,怎么做,不然要输有属性名 那就简单了
追答有个折中的办法 把所有的key手动加上前缀或后缀 输出的时候再去掉
当然 只是个想法 不喜勿喷
如何将Map转化为json字符串
1、如图所示新建一个demo作为测试。
2、这里是第一种方法,也是推荐的一个方法,需要引入如图所示的jar包(这里是java项目引入jar)。
3、如图所示是全部的代码,首先创建一个map,使用转换方法进行转换后转成字符串格式输出。
4、点击运行该java文件,即可在输出控制台看到转换成功的字符串。
5、这是第二种方法,需要引入的jar包比较对,如果引入不全,在运行的时候会报不同的错。
6、然后使用的是JSONObject.fromObject() 方法进行转换的,输出结果和上一个方法一致。
1、需要一些jar包:json-lib-2.4-jdk15.jar、ezmorph-1.0.6.jar、commons-logging.jar、commons-lang.jar、commons-collections.jar、commons-beanutils.jar。
2、把Map转换成json, 要使用jsonObject对象:
Map<String, Object> map = new HashMap<String, Object>();
map.put("userId", 1001);
map.put("userName", "张三");
map.put("userSex", "男");
JSONObject jsonObject = JSONObject.fromObject(map);
System.out.println(jsonObject);
以上是关于Json数据字符串转化为数组的主要内容,如果未能解决你的问题,请参考以下文章