Connecting Tech Pros Worldwide Help | Site Map

New to JSON

  #1  
Old August 16th, 2006, 08:55 PM
Tom Cole
Guest
 
Posts: n/a
I'm new to JSON but see how it can be an improvement over XML for some
things.

I've modified a test servlet to return the following string with a
content type of text/x-json:

{ header: { date: "16 Aug 2006 19:53:03 GMT", headers: [ { name:
"accept", value: "*/*" }, { name: "accept-language", value: "en-us" },
{ name: "referer", value: "http://njep11/Ajax/" }, { name:
"content-type", value: "application/x-www-form-urlencoded" }, { name:
"accept-encoding", value: "gzip, deflate" }, { name: "user-agent",
value: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR
1.0.3705; .NET CLR 1.1.4322)" }, { name: "host", value: "njep11" }, {
name: "content-length", value: "9" }, { name: "connection", value:
"Keep-Alive" }, { name: "cache-control", value: "no-cache" }] } }

On the client side I receive this an create an object via eval:

var object = eval('(' + xmlhttp.respongeText + ')');

If I do an alert(object.toString()) I get [Object object]. So I thought
it was working okay. However if I try to access object.headers[0].name
I get an error stating "headers.0 is null or not an object.

Is my JSON string correct? I'm not sure what role (if any) whitespace
plays in this type. I'm expecting it to create a object of type header
with a variable date and an array of objects that contain name and
value variables.

Thanks in advance.

  #2  
Old August 16th, 2006, 08:55 PM
Tom Cole
Guest
 
Posts: n/a

re: New to JSON


Sorry for the typo, it is responseText. And I've validated that the
text was sent properly as my JSON paste in this post was a cut and
paste of the response.

Thanks.

Tom Cole wrote:
Quote:
I'm new to JSON but see how it can be an improvement over XML for some
things.
>
I've modified a test servlet to return the following string with a
content type of text/x-json:
>
{ header: { date: "16 Aug 2006 19:53:03 GMT", headers: [ { name:
"accept", value: "*/*" }, { name: "accept-language", value: "en-us" },
{ name: "referer", value: "http://njep11/Ajax/" }, { name:
"content-type", value: "application/x-www-form-urlencoded" }, { name:
"accept-encoding", value: "gzip, deflate" }, { name: "user-agent",
value: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR
1.0.3705; .NET CLR 1.1.4322)" }, { name: "host", value: "njep11" }, {
name: "content-length", value: "9" }, { name: "connection", value:
"Keep-Alive" }, { name: "cache-control", value: "no-cache" }] } }
>
On the client side I receive this an create an object via eval:
>
var object = eval('(' + xmlhttp.respongeText + ')');
>
If I do an alert(object.toString()) I get [Object object]. So I thought
it was working okay. However if I try to access object.headers[0].name
I get an error stating "headers.0 is null or not an object.
>
Is my JSON string correct? I'm not sure what role (if any) whitespace
plays in this type. I'm expecting it to create a object of type header
with a variable date and an array of objects that contain name and
value variables.
>
Thanks in advance.
  #3  
Old August 16th, 2006, 09:15 PM
Tom Cole
Guest
 
Posts: n/a

re: New to JSON


Got it:

object.header.headers[0].name worked. I was assuming that the object
created was a header, not that it contained a header.

Thanks.

  #4  
Old August 16th, 2006, 09:55 PM
gregory.murray@sun.com
Guest
 
Posts: n/a

re: New to JSON



Tom Cole wrote:
Quote:
I'm new to JSON but see how it can be an improvement over XML for some
things.
>
I've modified a test servlet to return the following string with a
content type of text/x-json:
>
{ header: { date: "16 Aug 2006 19:53:03 GMT", headers: [ { name:
"accept", value: "*/*" }, { name: "accept-language", value: "en-us" },
{ name: "referer", value: "http://njep11/Ajax/" }, { name:
"content-type", value: "application/x-www-form-urlencoded" }, { name:
"accept-encoding", value: "gzip, deflate" }, { name: "user-agent",
value: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR
1.0.3705; .NET CLR 1.1.4322)" }, { name: "host", value: "njep11" }, {
name: "content-length", value: "9" }, { name: "connection", value:
"Keep-Alive" }, { name: "cache-control", value: "no-cache" }] } }
>
On the client side I receive this an create an object via eval:
>
var object = eval('(' + xmlhttp.respongeText + ')');
>
If I do an alert(object.toString()) I get [Object object]. So I thought
it was working okay. However if I try to access object.headers[0].name
I get an error stating "headers.0 is null or not an object.
>
Is my JSON string correct? I'm not sure what role (if any) whitespace
plays in this type. I'm expecting it to create a object of type header
with a variable date and an array of objects that contain name and
value variables.
>
Thanks in advance.
Hi Tom,

With JSON the keys in the key value pairs also need to be in quotes.
Also you need to access the object from header. Below is a working
example of your code:

<script type="text/javascript">

var text = "{ 'header': { 'date': '16 Aug 2006 19:53:03 GMT',
'headers': [ { 'name': 'accept', 'value': '*/*' }, { 'name':
'accept-language', 'value': 'en-us' }, { 'name': 'referer', 'value':
'http://njep11/Ajax/' }, { 'name':'content-type', 'value':
'application/x-www-form-urlencoded' }, { 'name':'accept-encoding',
'value': 'gzip, deflate' }, { 'name': 'user-agent', 'value':
'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705;
..NET CLR 1.1.4322)' }, { 'name': 'host', 'value': 'njep11' }, { 'name':
'content-length', 'value': '9' }, { 'name': 'connection', 'value':
'Keep-Alive' }, { 'name': 'cache-control', 'value': 'no-cache' }] } }";

//On the client side I receive this an create an object via eval:

var object = eval('(' + text + ')');

alert("object=" + object.header.headers[0].name);
</script>

Paste this into any page to test.

-Greg

Closed Thread


Similar Threads
Thread Thread Starter Forum Replies Last Post
reading json object with jquery Jon Paal [MSMD] answers 9 June 27th, 2008 08:10 PM
Current JSON Proposal in ES4 dhtmlkitchen@gmail.com answers 23 November 27th, 2007 03:25 AM
asp datatypes converted to JSON michal answers 5 April 27th, 2007 10:25 PM
JSON with existing Objects routeslip@gmail.com answers 1 March 23rd, 2006 05:25 PM