使用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 相关文章推荐
别了 JavaScript中的isXX系列
Aug 01 Javascript
jQuery设置指定网页元素宽度和高度的方法
Mar 25 Javascript
JavaScript文档碎片操作实例分析
Dec 12 Javascript
jQuery遍历节点树方法分析
Sep 08 Javascript
JavaScript递归操作实例浅析
Oct 31 Javascript
浅谈javascript中执行环境(作用域)与作用域链
Dec 08 Javascript
JS常用倒计时代码实例总结
Feb 07 Javascript
Angular2环境搭建具体操作步骤(推荐)
Aug 04 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
Aug 17 Javascript
vue中引用阿里字体图标的方法
Feb 10 Javascript
微信小程序实现拍照画布指定区域生成图片
Jul 18 Javascript
js new Date()实例测试
Oct 31 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经典的给图片加水印程序
2006/12/06 PHP
PHP的单引号和双引号 字符串效率
2009/05/27 PHP
PHP判断变量是否为0的方法
2014/02/08 PHP
实现获取http内容的php函数分享
2014/02/16 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
BOM与DOM的区别分析
2010/10/26 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
原生node.js案例--前后台交互
2017/02/20 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法
2017/07/09 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python中Apriori算法实现讲解
2017/12/10 Python
python实现ID3决策树算法
2017/12/20 Python
Python3.6实现连接mysql或mariadb的方法分析
2018/05/18 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
python实现大文件分割与合并
2019/07/22 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
python爬取豆瓣电影排行榜(requests)的示例代码
2021/02/18 Python
三好学生自我鉴定
2013/12/17 职场文书
高中自我鉴定
2013/12/20 职场文书
构建高效课堂实施方案
2014/03/13 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
社区安置帮教工作总结2015
2015/05/20 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript