使用JavaScript构建JSON格式字符串实现步骤


Posted in Javascript onMarch 22, 2013

如果你现在正在使用Restful API,并且你需要通过web项目来构建json格式字符串的响应,那么这篇文章将帮助你使用javascript来创建json格式字符串。这是非常有用的,我们将通过jQuery插件$.toJSON把数据对象转换为json格式。

使用JavaScript构建JSON格式字符串
JavaScript代码:
在这里包含了javascript代码。$(“#form”).submit(function(){}- delete_button是form标签的ID,我们通过element.val()调用表单输入框的值。代码如下:

<script src="jquery.min.js"></script> 
<script src="jquery.json-2.2.js"></script> 
<script src="GetPostAjax.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() 
{ 
$("#form").submit(function(e){ 
e.preventDefault(); 
var username,email,password,gender; 
username=$("#username").val(); 
email=$("#email").val(); 
password=$("#username").val(); 
gender=$("#gender").val(); 
if(username.length>0 && email.length>0 && password.length>0 &&gender.length>0) 
{ 
//Creating Objects 
var request = new Object(); 
var userDetails = new Object(); 
var user = new Object(); 
var websites=new Array(); 
user.name=username; 
user.email=email; 
user.password=password; 
user.gender=gender; 
//Array Push 
if(website1.length>0) 
websites.push(website1); 
if(website2.length>0) 
websites.push(website2); 
if(website3.length>0) 
websites.push(website3); 
user.websites=websites; 
userDetails.user = user; 
request.userDetails = userDetails; 
var jsonfy = $.toJSON(request); 
// Encodes special characters 
var encodedata = 'jsondata='+encodeURIComponent(jsonfy); 
//Ajax Call 
var url='website API URL'; 
post_data(url,encodedata, function(data) { 
alert("Success"); 
}); 
} 
}); 
}); 
</script">

HTML代码:
<form method='post' action='' id='form'> 
Name 
<input type='text' name='username' id='username' /> 
Email 
<input type='text' name='email' id='email' /> 
Password 
<input type='text' name='password' id='password' /> 
Gender 
<select name='gender' id='gender'><option value='male'>Male</option><option value='female'>Female</option></select> 
Websites 
<input type='text' id='website1' /> 
<input type='text' id='website2' /> 
<input type='text' id='website3' /> 
<input type='submit' id='submit'/> 
</form>

JSON输出
{ 
"userDetails":{ 
"user":{ 
"name":"Srinivas Tamada", 
"email":"srinivas@9lessons.info", 
"password":"Srinivas Tamada", 
"gender":"male", 
"websites":["www.software8.co","www.heatpress123.net","www.0769zzw.com"] 
} 
} 
}

JSON Encoded
对特殊字符进行编码,会把以下字符进行编码
, / ? : @ & = + $ # 
jsondata=%7B%22userDetails%22%3A%7B%22user%22%3A%7B%22name%22%3A%22Srinivas%20Tamada%22%2C%22email%22%3A%22srinivas%409lessons.info%22%2C%22password%22%3A%22Srinivas%20Tamada%22%2C%22gender%22%3A%22male%22%2C%22websites%22%3A%5B%22www.9lessons.info%22%2C%22www.egglabs.in%22%2C%22www.fglogin.com%22%5D%7D%7D%7D

GetPostAjax.js
这里定义了jquery的ajax请求方法。
function post_data(url,encodedata, success){ 
$.ajax({ 
type:"POST", 
url:url, 
data :encodedata, 
dataType:"json", 
restful:true, 
contentType: 'application/json', 
cache:false, 
timeout:20000, 
async:true, 
beforeSend :function(data) { }, 
success:function(data){ 
success.call(this, data); 
}, 
error:function(data){ 
alert("Error In Connecting"); 
} 
}); 
}
Javascript 相关文章推荐
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
Dec 02 Javascript
理解Javascript_03_javascript全局观
Oct 11 Javascript
jquery模拟SELECT下拉框取值效果
Oct 23 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
Sep 07 Javascript
基于jquery实现无限级树形菜单
Mar 22 Javascript
jquery实现简单Tab切换菜单效果
Jul 17 Javascript
如何使用Vuex+Vue.js构建单页应用
Oct 27 Javascript
easyui form validate总是返回false的原因及解决方法
Nov 07 Javascript
微信小程序开发之Tabbar实例详解
Jan 09 Javascript
jquery事件与绑定事件
Mar 16 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
Oct 04 Javascript
React实现全选功能
Aug 25 Javascript
鼠标滚轮控制网页横向移动实现思路
Mar 22 #Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 #Javascript
jquery文字上下滚动的实现方法
Mar 22 #Javascript
JS模块与命名空间的介绍
Mar 22 #Javascript
JS在textarea光标处插入文本的小例子
Mar 22 #Javascript
JavaScript 验证码的实例代码(附效果图)
Mar 22 #Javascript
jquery实现图片等比例缩放以及max-width在ie中不兼容解决
Mar 21 #Javascript
You might like
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
php命令行用法入门实例教程
2014/10/27 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
PHP与Web页面的交互示例详解一
2020/08/04 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
JavaScript的面向对象(一)
2006/11/09 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
用js实现计算加载页面所用的时间
2010/04/02 Javascript
jquery 跨域访问问题解决方法(笔记)
2011/06/08 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
js中style.display=&quot;&quot;无效的解决方法
2014/10/30 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
利用vue + element实现表格分页和前端搜索的方法
2017/12/25 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
详解React路由传参方法汇总记录
2020/11/29 Javascript
八大排序算法的Python实现
2021/01/28 Python
详细介绍Python的鸭子类型
2016/09/12 Python
JPype实现在python中调用JAVA的实例
2017/07/19 Python
对pandas中两种数据类型Series和DataFrame的区别详解
2018/11/12 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
英国时尚优质的女装:Hope Fashion
2018/08/14 全球购物
斯巴达比赛商店:Spartan Race
2019/01/08 全球购物
.NET remoting中对象激活的两种方式
2015/06/08 面试题
教师自我评价范例
2013/09/24 职场文书
顶岗实习计划书
2014/01/10 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
学校教学工作总结2015
2015/05/19 职场文书
公司档案管理制度
2015/08/05 职场文书
基于Python实现一个春节倒计时脚本
2022/01/22 Python