json解析大全 双引号、键值对不在一起的情况


Posted in Javascript onDecember 06, 2019

json

[{"id":394,"qy_json":"{\"title\":[\"序号\",\"许可文件编号\",\"许可文件名称\",\"有效期自\",\"有效期至\",\"许可机关\",\"许可内容\",\"状态\",\"详情\"],\"info\":[[\"1\",\"(成)登记内变字【2017】第000050号\",\"其他\",\"1988年2月11日\",\"\",\"成都市工商行政管理局\",\"将“成都西南冶金测量工程公司”变更为\"四川冶勘汇宇地理信息工程公司\".\",\"有效\",\"查看\"]]}","company_id":26204710,"create_time":1488327047000}]

以上json是错误的,因为都多了中文双引号在这里 将“成都西南冶金测量工程公司”变更,下面来看解决

1.分析看出这是一个数组json

2.在数组中还有嵌套

3.嵌套中的数组并非传统冒号:隔开,而是已数组对应的方式来展现

解决步骤

1.遍历数组json

for (int i = 0; i < array.size(); i++) {
                B_admin_licens xzxk = new B_admin_licens();
                String json = array.getString(i);

2.得到数组字符串,并将双引号的问题预处理

json = json.replace("“", "");
json = json.replace("”", "");

3.字符串转json对象jsont,jsont取出对应的value值

JSONObject jsont = JSON.parseObject(json);
Object id = jsont.get("id");
Object company_id = jsont.get("company_id");

4.嵌套的value怎么取?jsont取出对应的value值转成string类型,再把qy_str转成json对象,方能取出数组内容

String qy_str = jsont.getString("qy_json");
JSONObject qy_json = JSON.parseObject(qy_str);
JSONArray info_array = qy_json.getJSONArray("info");
JSONArray title = qy_json.getJSONArray("title");

5.info是数组嵌套数组,为此要循环两次才能取出

for (int j = 0; j < info_array.size(); j++) { 
JSONArray info_list = info_array.getJSONArray(j); 
   for (int k = 0; k < info_list.size(); k++) {                            
    info_list.getString(k);
   }
 
}

json转义内容带有引号的数据

value.replace("\"",\\\")

json处理内容中多双引号的情况php端处理

$a = '{"name" : "John \"\"Cliff\"Cliff\" Barxter"}';
dump(json_decode($a, true));

好了这篇文章就介绍到这了,希望大家以后多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 数组运用实现代码
Apr 13 Javascript
javascript检测浏览器flash版本的实现代码
Dec 06 Javascript
js 取时间差去掉周六周日实现代码
Dec 25 Javascript
JS获取DropDownList的value值与text值的示例代码
Jan 07 Javascript
javascript属性访问表达式用法分析
Apr 25 Javascript
javascript实现全角半角检测的方法
Jul 23 Javascript
基于JavaScript实现窗口拖动效果
Jan 18 Javascript
jQuery监听浏览器窗口大小的变化实例
Feb 07 Javascript
js实现点击按钮复制文本功能
Jul 20 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
Aug 20 Javascript
vue 实现锚点功能操作
Aug 10 Javascript
微信小程序实现选项卡滑动切换
Oct 22 Javascript
js实现图片粘贴到网页
Dec 06 #Javascript
JavaScript中的函数申明、函数表达式、箭头函数
Dec 06 #Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
Dec 06 #Javascript
微信小程序实现滚动加载更多的代码
Dec 06 #Javascript
微信小程序实现滑动翻页效果(完整代码)
Dec 06 #Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
Dec 06 #Javascript
微信小程序添加插屏广告并设置显示频率(一天一次)
Dec 06 #Javascript
You might like
PHP 第二节 数据类型之字符串类型
2012/04/28 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
php文件下载处理方法分析
2015/04/22 PHP
PHP并发多进程处理利器Gearman使用介绍
2016/05/16 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
2016/10/03 PHP
PHP异常处理定义与使用方法分析
2017/07/25 PHP
PHP实用小技巧之调用录像的方法
2019/12/05 PHP
PHP date_default_timezone_set()设置时区操作实例分析
2020/05/16 PHP
javascript之解决IE下不渲染的bug
2007/06/29 Javascript
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
JavaScript 高效运行代码分析
2010/03/18 Javascript
jquery.validate使用攻略 第三部
2010/07/01 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
JS中如何设置readOnly的值
2013/12/25 Javascript
iframe父页面获取子页面参数的方法
2014/02/21 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
JavaScript通过代码调用Flash显示的方法
2016/02/02 Javascript
Bootstrap CSS组件之大屏幕展播
2016/12/17 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
[47:06]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第一局
2016/03/05 DOTA
python自动安装pip
2014/04/24 Python
Python功能键的读取方法
2015/05/28 Python
Python常用小技巧总结
2015/06/01 Python
在Python的Django框架中调用方法和处理无效变量
2015/07/15 Python
Python SqlAlchemy动态添加数据表字段实例解析
2018/02/07 Python
对Python 3.2 迭代器的next函数实例讲解
2018/10/18 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
Python类成员继承重写的实现
2020/09/16 Python
捷克建筑材料网上商店:DEK.cz
2021/03/06 全球购物
物业保安员岗位职责
2014/03/14 职场文书
国际贸易实务实训报告
2014/11/05 职场文书