JSON字符串传到后台PHP处理问题的解决方法
在项目开发的时候由于涉及到批量记录数组的传入,由于字段多,所以不可能能用普通的方式&a=322&=gsd&v=rwe 这样去传送,所以想到了前端传JSON格式过去content=[{'a':2321,'b':'gsd','c':'dww'},{'a':'4sd','b':'gsd2','c':'dww3'},.....] , 这样的话多条记录后台解析也很方便,但我这么传的时候后台收到的是 [{\'a\':2321,\'b\':\'gsd\',\'c\':\'dww\'}...] 这样的格式,而我需要的标准的JSON格式的字符串,利用PHP的json_decode 解析后直接转换成数组,这样我就好操作,到网上搜索了很多同学也遇到了和我一样的问题,找了半天最好都还是没找到答案,最后还是自己整出来了,stripslashes 用PHP中的这个函数,把获取的JSON字符串转换一下就OK了,
其实这个问题是由 get_magic_quotes_gpc() 函数引起的,如果php.ini 中的配置为 off 应该就没这个问题,所以利用这个函数的时候加上判断
//$json 为接收的JSON字符串 if(get_magic_quotes_gpc()==1){ $json = stripslashes($json); }
说句多余的话,俩年没整PHP了,都忘光了,最近项目需要又得翻手册了
相关推荐
-
关于json字符串与实体之间的严格验证代码
在一个项目中要求严格验证传入的json字符串与定义的 类匹配,否则不记录.感觉这个严格验证找了好多资料才找到,可能用的人比较少,特摘出来给大家分析,直接上代码了: using Newtonsoft.Json; 首先引用 Newtonsoft.Json.Schema 主函数调用 private static void Main(string[] args) { string Json = @"{ 'Email':'58', 'Active':true, 'CreateDate':'2015-12-
-
JSON的String字符串与Java的List列表对象的相互转换
在前端: 1.如果json是List对象转换的,可以直接遍历json,读取数据. 2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示: var jsonStr = JSON.stringify(list); var param= {}; param.jsonStr=jsonStr; 在后台: 1.把String转换为List(str转换为list) List<T> list = new ArrayList<T>(); JSONAr
-
Python处理json字符串转化为字典的简单实现
今天一个朋友给个需求: 来来 {'isOK': 1, 'isRunning': None, 'isError': None} 怎么转换成字典 好,一看就是json转化很简单,开始: import json a = "{'isOK': 1, 'isRunning': None, 'isError': None}" print json.loads(a) 死活出不来结果,还报错,查了两个小时的百度,没搞明白. 最后,直接复制网上的代码,OK,运行成功,可是把我的a变量填进去,不行,报错:开
-
JSON字符串转换JSONObject和JSONArray的方法
一.下载json 具体到http://www.json.org/上找Java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了 二.具体转化过程 //JSONObject String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}"; String value1 = null; t
-
Java Web程序实现返回JSON字符串的方法总结
基础铺垫 在java中,关于json的lib有很多,比如jackjson.fastjson.gson等等,本人都用过,但是对于我等只需要让java对象返回json字符串即可的程序员来说,还是显得过于繁重.而且有些功能定制性很差,比如一个java对象的属性为空时,这些组件都不会输出,于是本人在页面循环遍历列表对象时,总是得判断此属性是否为undefined,这一点让本人很不满意.所以决定花点时间研究下到底是怎么回事. 但经过一上午的细看,发现不管是fastjson还是gson都代码都写得相当的复杂
-
JSON字符串传到后台PHP处理问题的解决方法
在项目开发的时候由于涉及到批量记录数组的传入,由于字段多,所以不可能能用普通的方式&a=322&=gsd&v=rwe 这样去传送,所以想到了前端传JSON格式过去content=[{'a':2321,'b':'gsd','c':'dww'},{'a':'4sd','b':'gsd2','c':'dww3'},.....] , 这样的话多条记录后台解析也很方便,但我这么传的时候后台收到的是 [{\'a\':2321,\'b\':\'gsd\',\'c\':\'dww\'}...] 这
-
json字符串传到前台input的方法
JSONObject把对象转换成的json字符串,无法直接通过request.setAttribute();传到页面的input标签 如下是错误的: request.setAttribute("pageInfoJsonStr", JSONObject.fromObject(pageInfo).toString()); 还需要 jsonStr.replaceAll("\"", "'")再放到request.setAttribute中 以上
-
jackson解析json字符串,首字母大写会自动转为小写的方法
问题 楼主碰到的问题是,在实体类和表中定义的某个字段为RMBPrice,首字母大写,sql查询出来的列名也是大写的RMBPrice,但是使用jquery的datatables初始化列时,却出错. 那一行的代码如下: {"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render"
-
Mybatis传list参数调用oracle存储过程的解决方法
怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据? MyBatis中参数是List类型时怎么处理?大家都知道MyBatis批处理大量数据是很难做到事务回滚的(事务由Spring管理),都将逻辑写在存储中又是及其头疼的一件事(参数长度也有限制),那么我想的是将参数在后台封装为单个或多个list集合,直接通过MyBatis将此参数传到数据库存储过程中,一来摆脱了MyBatis批量插入数据的诸多限制(例如:不能实时返回主键.foreach标签循环集合长度有限制),二来就是在存
-
js传值后台中文出现乱码的解决方法
本文实例讲述了js传值后台中文出现乱码的解决方法.分享给大家供大家参考,具体如下: 在"test.jsp"页面中,需要通过js将值传递到后台,后台根据传递的值进行数据查询时,通过test.jsp的js进行编码(标注部分的代码),后台Java解码(注释标注部分为解码),可以解决 test.jsp: <script type="text/JavaScript" charset="UTF-8"> function test() { //下面
-
PHP上传 找不到临时文件夹的解决方法
最近遇到这样的麻烦,找不到临时文件夹返回的错误代码为6 错误原因: 一.配置文件没有设置临时文件夹 二.临时文件夹没有或者上级文件夹没有相应的权限 处理方式: 找到PHP配置文件PHP.ini,找到以下代码 ;upload_tmp_dir = 改为: upload_tmp_dir = "C:/Windows/Temp" //后面的文件夹路径根据您的系统来设置 如果是权限不够的情况,可以根据不通的操作系统系统分别给其文件加上相应的权限 其他知识: $_FILES['file']['err
-
python中使用ctypes调用so传参设置遇到的问题及解决方法
问题 近日在做一组声纹聚类时,使用了另一团队同学开发的声纹距离算法.该算法对外提供的是一组so包,需要使用方自己去使用.在python中调用纯so包一般使用ctypes类库,用起来看起来简单但也有不少细节容易犯错.本次使用过程中,就遇到传参的问题. 目标so库中对外export的函数是大致如下的三个函数: void* create_handler(); int extract_feature(void* hander); bool destroy(void* handler); 这三个函数使用起
-
go浮点数转字符串保留小数点后N位的完美解决方法
最近在项目中碰到很多次float转string,同时要求保留小数点后几位,并且去掉小数点后0的场景 虽然问题很简单,但是隔了挺久没处理这种场景就有些生疏了,自己也搜了一下,很多回答都不太满意.这里贴一下自己的做法,如果有更好的解决办法的话,还请多多指教 // 主要逻辑就是先乘,trunc之后再除回去,就达到了保留N位小数的效果 func FormatFloat(num float64, decimal int) string { // 默认乘1 d := float64(1) if decima
-
Linux上定位后台服务偶发崩溃的解决方法
问题描述 在最近的后台服务中,新增将某个指令的请求数据落盘保存的功能.在具体实现时,采用成员变量来保存请求消息代理头,在接收响应以及消息管理类释放时进行销毁.测试反馈,该服务偶发崩溃. 问题分析 测试环境上运行的是rel版程序,由于在编译时去掉了调试信息(-g)以及开启O3级别优化,从崩溃dump的堆栈上,只看到程序崩溃的调用栈,函数入参等被优化掉,由于此处没有打日志,只能想其他办法来复现.猜测是重复释放指针导致的崩溃,接下来继续分析. 从rel版本的调用栈上看,只看见最后销毁的函数调用,而在实
-
js传参数受特殊字符影响错误的解决方法
类似于 `~!@#$%^&*()_ -=[]{}|;':",.\/<>? 这样的特殊字符作为参数时,如果不做处理,会产品传参错误. 解决方法: encodeURI 方法 将文本字符串编码为一个有效的统一资源标识符 (URI). encodeURI(URIString) 必选的 URIString 参数代表一个已编码的 URI. 说明 encodeURI 方法返回一个编码的 URI.如果您将编码结果传递给 decodeURI,那么将返回初始的字符串.encodeURI 方法不会
随机推荐
- java中文及特殊字符的校验方法
- CentOS中mysql cluster安装部署教程
- SqlServer 2005 T-SQL Query 学习笔记(3)
- json对象转字符串如何实现
- vue中将网页打印成pdf实例代码
- 用批处理得到每个目录占用的空间
- PHP 加密与解密的斗争
- php中base_convert()进制数字转换函数实例
- jsp计数器制作
- C#图像处理之霓虹效果实现方法
- js加入收藏以及使用Jquery更改透明度
- php压缩HTML函数轻松实现压缩html/js/Css及注意事项
- asp.net dataview做无限极分类的又一用法
- 如何增加Referer功能--反向链接插件
- P3P Header解决Cookie跨域的问题
- 微信小程序 页面之间传参实例详解
- php好代码风格的阶段性总结
- 三种东西永远不要放到mysql数据库里
- jQuery实现iframe父窗体和子窗体的相互调用
- jQuery中delegate()方法用法实例