Home  >  Article  >  Web Front-end  >  Construct JSON format string using JavaScript

Construct JSON format string using JavaScript

高洛峰
高洛峰Original
2016-11-28 09:50:311165browse

If you are currently using Restful API and you need to build a json format string response through a web project, then this article will help you use javascript to create a json format string. This is very useful, we will convert the data object to json format through the jQuery plugin $.toJSON.

Build JSON format string using JavaScript

JavaScript code:

The javascript code is included here. $("#form").submit(function(){}- delete_button is the ID of the form tag. We call the value of the form input box through element.val(). The code is as follows:

<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 = &#39;jsondata=&#39;+encodeURIComponent(jsonfy);
 
//Ajax Call
var url=&#39;website API URL&#39;;
post_data(url,encodedata, function(data) {
alert("Success");
});
 
}
 
});
 
});
</script">

HTML code:

<form method=&#39;post&#39; action=&#39;&#39; id=&#39;form&#39;>
Name
<input type=&#39;text&#39; name=&#39;username&#39; id=&#39;username&#39;  />
Email
<input type=&#39;text&#39; name=&#39;email&#39; id=&#39;email&#39; />
Password
<input type=&#39;text&#39; name=&#39;password&#39; id=&#39;password&#39; />
Gender
<select name=&#39;gender&#39; id=&#39;gender&#39;><option value=&#39;male&#39;>Male</option><option value=&#39;female&#39;>Female</option></select>
Websites
<input type=&#39;text&#39; id=&#39;website1&#39; />
<input type=&#39;text&#39; id=&#39;website2&#39; />
<input type=&#39;text&#39; id=&#39;website3&#39; />
<input type=&#39;submit&#39; id=&#39;submit&#39;/>
</form>

JSON output

{
"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

Encode special characters, the following characters will be 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

The ajax request method of jquery is defined here

function post_data(url,encodedata, success){
$.ajax({
type:"POST",
url:url,
data :encodedata,
dataType:"json",
restful:true,
contentType: &#39;application/json&#39;,
cache:false,
timeout:20000,
async:true,
beforeSend :function(data) { },
success:function(data){
success.call(this, data);
},
error:function(data){
alert("Error In Connecting");
}
});
}


.
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn