Movatterモバイル変換


[0]ホーム

URL:


codecamp

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

如果你现在正在使用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"); } }); }

java创建json对象

// 声明两个json数组  [java] view plain copy print?      JSONArray gResTable = new JSONArray();         JSONArray gCmtTable = new JSONArray();   // 声明json对象       ONObject outData = new JSONObject();  //把json数组加到json对象中  [java] view plain copy print?outData.put("ResTable", gResTable);  outData.put("CmtTable", gCmtTable);    //此时创建出来的如下:jsonData={"ResTable":[],"CmtTable":[]};    把json数据加到json数组中  for (int i = 0; i < 2; i ++)  {      JSONObject node = new JSONObject();      node.put("thumb_path", "./Image/" + i +".gif");      node.put("flash_path", "./Image/" + i +".gif");      node.put("desc1", "可疑车辆" + i);      node.put("desc2", "");      node.put("desc3", "");      node.put("desc4", "");      node.put("title", "hello");      node.put("upload_time", (new java.util.Date()).toString());      node.put("uploader", "王二");      gResTable.put(node);  }    for (int i = 0; i < 2; i ++)  {      JSONObject node = new JSONObject();      node.put("logo_path", "./Image/" + i +".gif");      node.put("comment", "hello");      node.put("comment_time", (new java.util.Date()).toString());      node.put("author", "王二");      gCmtTable.put(node);  }
建出来的json格式如下:  
[java] view plain copy print?/*     jsonData={"ResTable":[     {"upload_time":"Sat May 26 20:16:37 CST 2012","title":"hello","flash_path":"./Image/0.gif","uploader":"王二","thumb_path":"./Image/0.gif","desc3":"","desc4":"","desc1":"可疑车辆0","desc2":""},     {"upload_time":"Sat May 26 20:16:37 CST 2012","title":"hello","flash_path":"./Image/1.gif","uploader":"王二","thumb_path":"./Image/1.gif","desc3":"","desc4":"","desc1":"可疑车辆1","desc2":""}],     "CmtTable":     [{"author":"王二","logo_path":"./Image/0.gif","comment":"hello","comment_time":"Sat May 26 20:16:37 CST 2012"},     {"author":"王二","logo_path":"./Image/1.gif","comment":"hello","comment_time":"Sat May 26 20:16:37 CST 2012"}  ]}; */
IE6/IE7中JavaScript json提示缺少标识符、字符串或数字问题处理
JavaScript 解析Json字符串的性能比较分析代码
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录
关于 JSON

JSON 教程

JSON 基础

json格式

JSON 示例

JSON解析

JSON遍历

JSON调用

JSON转换

JSON获取

JSON字符串

JSON数组

关闭

MIP.setData({'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false},'pageFontSize' : getCookie('pageFontSize') || 20});MIP.watch('pageTheme', function(newValue){setCookie('pageTheme', JSON.stringify(newValue))});MIP.watch('pageFontSize', function(newValue){setCookie('pageFontSize', newValue)});function setCookie(name, value){var days = 1;var exp = new Date();exp.setTime(exp.getTime() + days*24*60*60*1000);document.cookie = name + '=' + value + ';expires=' + exp.toUTCString();}function getCookie(name){var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null;}
[8]ページ先頭

©2009-2025 Movatter.jp