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() 方法进行转换的,输出结果和上一个方法一致。


参考技术A 把map转成json的步骤:
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数据字符串转化为数组的主要内容,如果未能解决你的问题,请参考以下文章

Vue表单form数据转化为Json字符串

JS解析json数据(如何将json字符串转化为数组)

怎么把json数组里的某一项的value转化为字符串格式

怎样将json数据转换成匿名数组或者泛型对象(c#)

el-table数据转化为json后如何转换

c# 拼接字符串并转化为json数据时,总是无法转到所需格式