java 向后台传两个json数据类型_前台向后台传递JSON字符串,处理JSON字符串类型的方法...
--欢迎多多评论多多交流,指正缺点
在这之前必要提到这些JSON的转换都是依赖于引入 ,
首先你得懂得用 ajax 传值到一般处理程序, 以及基本得json字符串结构
Newtonsoft.Json.dll 动态链接库文件,
需要的同学可以点击链接去我的百度云下载 ,下面给出地址
链接:https://pan.baidu.com/s/1yINv3y6r-MsV1C6hcyxMtQ 提取码:2lv6
用的时候就首先引入命名空间就可以调用里面的方法拉
然后我们来介绍介绍里面的主要方法
1) JsonConvert.SerializeObject() 将指定的对象序列化为JSON字符串。 (后台打包回来)
2) JsonConvert.DeserializeObject() 将JSON字符串反序列化为指定的.NET类型(后台解析,JSON字符串为某种集合类型)
3) JSON.parse() 将JSON字符串转为一个对象。(前台转换)
4) JSON.stringify() 将 JavaScript 值转换为 JSON 字符串, (前台转换)
里面有很多转换方法,但这里主要转换是字符串,数组,键值对 的方法, 其他方法不过多累赘
JSON传递到后台的数据是多种多样的,但基本思想大致是一样的,(我想其他的传递思想应该是大同小异的)
1.不同的传值方式前台序列化成JSON字符串传递到后台
2.后台用合适的集合或者封装类的方法进行解析浅谈传递过来的JSON字符串,然后在后台程序中处理,处理完成序列化成JSON字符串打包回来
3.前台接送到后台传递回来的JSON字符串,转换为JSON 对象进行合理的拆分,取值(原来什么类型传就用什么方式取)
(方法1——传递单个字符串) 当传递单个值得情况下
var self="asd";
JSON.stringify("asd") 后台接收: "asd"
如果说单纯得传递一个字符串到后台得时候往往是非常容易的, 这里就不过多累赘
比较简单得就可实现 数据库语句得字符串拼接了,
这个时候而言,我们无非就是对返回回来的字符串进行判读处理,值得一提的是如果我们返回一个Bool 值类型 ,在经过toString()方法之后, 首字母是会转换成大写的
因此判断的时候如果出错要稍微注意一下了
(方法2,3 传递多值得时候)通过一个例子来理解把
这个例子是基于点击按钮之后,通过后台为文本添加上已经处理
点击之后效果如下
(方法2——传递键值对的形式)
获取相应文本框的数据作为值,
我们在文本框依次输入 测试数据1,测试数据2,测试数据3,测试数据4
如果我们前台alert直接弹出这个return的值
alert(JSON.stringify([object Object]) )弹窗处理这个对象之后可以得到这样一个JSON 字符串:
那么后台(一般处理程序或者类文件中)如何取出这样的键值对形式呢,可以直接通过字典集合的形式进行解析处理 一般来所键值对的形式我们用字典集合处理比较好
Dictionary WeekDictionary = JsonConvert.DeserializeObject>(pars); //将我们的键值对对象转换为字典集合
for (int i = 0; i < WeekDictionary.Count; i++)
{
string ValueIndex = "value" + (i + 1).ToString();
WeekDictionary[ValueIndex] = "已处理" +WeekDictionary[ValueIndex];
}
return JsonConvert.SerializeObject(WeekDictionary); //将指定的对象序列化为JSON字符串。
这样我们就可以在前台用统一的格式来处理这个JSON字符串了
对于这个 re 数据 我们可以对它进行处理,之后就可以在前台通过类似数组的索引的方式取出某一个值了
msg = (typeof (data) == "object" ? msg : JSON.parse(data)); //将这个json字符串转换成json对象//将返回回来的数据转换成为一个数组
self.elems.$tmpl_input.val(msg["value1"]);
self.elems.$tmpl_input1.val(msg["value2"]);
self.elems.$tmpl_input2.val(msg["value3"]);
self.elems.$tmpl_input3.val(msg["value4"]);
msg = (typeof (re) == "object" ? msg : JSON.parse(re)); --这句的意思是,判断是不是一个JSON对象,如果不是将JSON字符串转为一个对象。
(方法3——传数组的形式)
如果我们前台 alert($p);
alert(JSON.stringify($p)); 处理这个对象之后可以得到这样一个JSON 字符串:
后台转换之后得到的数据
最后经过 JsonConvert.SerializeObject(list); //将指定的list集合序列化为JSON字符串。 (拿数据)
在这之后前台可以拿到数据
对于这个 re 数据 我们可以对它进行处理,之后就可以在前台通过类似数组的索引的方式取出某一个值了 (读取数据)
msg = (typeof (data) == "object" ? msg : JSON.parse(data)); //将这个json字符串转换成json对象
self.elems.$tmpl_input.val(msg[0]);
self.elems.$tmpl_input1.val(msg[1]);
self.elems.$tmpl_input2.val(msg[2]);
self.elems.$tmpl_input3.val(msg[3]);
msg = (typeof (re) == "object" ? msg : JSON.parse(re));
--这句的意思是,判断是不是一个JSON对象,如果不是将JSON字符串转为一个对象。
----不能只思考而不去做,也不能只去做而不思考,同样在生活中也要成为一个细心的人
java 向后台传两个json数据类型_前台向后台传递JSON字符串,处理JSON字符串类型的方法...相关推荐
- vue的post请求data可以传两个参吗_我知道的HTTP请求
HTTP大家都不陌生,但是HTTP的许多细节就并不是很多人都知道了,本文将讨论一些容易被忽略但又比较重要的点. 首先,怎么用原生JS写一个GET请求呢?如下代码,只需3行: let xhr = new ...
- ASP.NET中使用JSON方便实现前台与后台的数据交换
一.前台向后台请求数据 在页面加载时,有时需要对一些表单进行初始化,此时可以利用JQuery的 get 函数向后台发起异步请求: /初始化函数 function initSettings() {$.g ...
- python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)
这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...
- controller接收json数据_答疑 | 前后端分离,如何接收json数据?
1.颜老师,在前后端分离的项目中,后端如何接收前端发来的json数据?我记得是@RequestBody,但有时候会报错. 答:当使用SpringMVC接收json数据时,需要区分json的数据格式,具 ...
- 校验json格式_格式化展示,校验错误,编辑JSON,这几个JSON工具一定不能错过
今天给大家介绍几个常用JSON的工具,基本上能满足你工作中对JSON的所有需求 google插件 JSONView 安装好插件后,格式化接口返回的JSON,还能展开节点和关闭节点,超级方便 格式化本地 ...
- flex bison解析json文件_每秒解析千兆字节的 JSON 解析器开源了
本文转自我们的网站 InfoQ,译者无明.除了推荐 simdjson 之外,还想测试一下微信平台编辑器的代码样式功能. 事实证明,微信文章的代码展示能力很强了.非常棒. 近日,GitHub 开源了一 ...
- json 在后天怎么接_前台向后台传一个json数据,后台怎么接?
* 用户注册 */ @ResponseBody @RequestMapping(value="/register", method=RequestMethod.GET) //这里是 ...
- pg数据库json数据类型_科学网—如何使用PostgreSQL中的JSONB数据类型(PG JSON系列2) - 孙鹏的博文...
上一篇 使用PostgreSQL中的row_to_json()直接获得JSON(PG JSON系列1)主要针对现有的非json/jsonb类型如何输出json结果,这一篇主要写一下在数据库设计中直接使 ...
- java虚拟机如何判断两个类相同_你有没有想过: Java 虚拟机是如何判断两个对象是否相同的?判断的流程是什么?...
在Java程序运行时,会产生那么多的对象,那 Java 虚拟机是如何判断两个对象是否相同的呢?判断的流程是什么? 参考解答: Java 虚拟机会先判断两个对象的hashCode是否相同,如果hashC ...
- java feign同时传对象和其他参数_关于Spirng Cloud的Feign传参问题:
Feign传参注意: 使用Feign客户端组件来调用微服务,经常出现参数传不过去变成null的问题,网上查了一下发现feign在参数上的使用还是有一定的限制的,主要是要注意: 1. 当参数比较复杂时, ...
最新文章
- QQ web api
- 复习笔记(一)——C++基础
- 计算机实践报告800字,计算机软件专业大学生社会实践报告800字
- Qt 【关于控件样式,鼠标进入、离开、点击】
- fibonacci数列前20项_数学第十七课:数列综合应用第一弹
- 为什么python这么慢_为啥 Python 运行速度这么慢 ?
- 攻防世界 CRYPTO 新手练习区 答题(1-12题解)
- html代码中如何将浏览器的菜单栏,状态栏,地址栏,工具栏等隐藏,标题栏html代码 HTML中怎么设置标题居中...
- 类型的设计--方法:构造器、操作符、转换操作符和参数
- 笔记本怎么打开html的面板,联想笔记本控制面板在哪里打开
- 康托尔集的物理意义1.2
- 7月书讯 | 12本新书如期而至!
- 基于BP-Adaboost神经网络的高斯函数模型预测研究-含Matlab代码
- SQL连接的理解和使用(内连接:自然连接等值连接,外连接:左连接右连接全外连接)
- CTF-网络信息安全攻防学习平台(注入关)
- 为什么静下心来阅读会是一种奢侈?
- 百度地图获取省市边界、设置图片背景
- 怎么建立客户的小档案?
- win10 “你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问。”
- 【DB宝46】NoSQL数据库之CouchBase简介、集群搭建、XDCR同步及备份恢复
热门文章
- Java_学生信息管理系统——数组版——尝试将main函数单独放了一个类,并加了文件...
- spring mvc+mybatis ios android整合cms内容发布平台
- 前端数据可视化echarts.js使用指南
- 多线程JAVA篇(一)
- linux系统学习(常用命令)
- mysql open files
- 学习笔记_Java_day12_Cookie
- MySQL性能优化的最佳20+套经验
- poj2594 Treasure Exploration 二分匹配之最小路径覆盖+传递闭包
- import keras的错误module ‘tensorflow.compat.v2‘ has no attribute ‘__internal__‘