• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 255
  • Last Modified:

JSON and Prototype

please help me use prototype to populate the 'title' div with the data inside this JSON.
      
JSON:
{
    "blogPosts" : [
        {
"postTitle" : "My Blog post title",
            "content" : "my main content",
            "image" : "th-4.jpg",
            }
    ]
}

html: <div id="title"></div>

Thanks!
0
ram0nm
Asked:
ram0nm
1 Solution
 
Gurvinder Pal SinghCommented:
document.getElementById("title").innerHTML = JSON.blogPosts.postTitle;

check this also
http://api.jquery.com/jQuery.getJSON/
0
 
ram0nmAuthor Commented:
That didn't work. btw I needed this to be done using prototype not jQuery.

I think in prototype it should look like this, but it's still not working, not sure what I'm doing wrong:
$('title').innerHTML = JSON.blogPosts.postTitle; 

Open in new window

0
 
Gurvinder Pal SinghCommented:
try it

document.getElementById("title").innerHTML = eval(JSON).blogPosts.postTitle;
0
Cloud Class® Course: Certified Penetration Testing

This CPTE Certified Penetration Testing Engineer course covers everything you need to know about becoming a Certified Penetration Testing Engineer. Career Path: Professional roles include Ethical Hackers, Security Consultants, System Administrators, and Chief Security Officers.

 
Gurvinder Pal SinghCommented:
0
 
leakim971PluritechnicianCommented:
The path to get the title is :
myJson["blogPosts"][0].postTitle
or :
myJson.blogPosts[0].postTitle

To set the innerHTML you should use update : http://www.prototypejs.org/api/element/update
$('title').update(json.blogPosts.postTitle);

Open in new window


Test page :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="javascript" src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js"></script>
<script language="javascript">
	var myJson = {"blogPosts":[{"postTitle":"My Blog post title","content":"my main content","image":"th-4.jpg"}]};
	Event.observe(window, 'load', function() {
		$('title').update(myJson["blogPosts"][0].postTitle);
	});
</script>
</head>
<body>
<div id="title"></div>
</body>
</html>

Open in new window

0
 
GaryCommented:
I've requested that this question be deleted for the following reason:

Not enough information to confirm an answer.
0
 
leakim971PluritechnicianCommented:
My last comment fully answered the question :
- use prototype instead jQuey
- show the path to the data
- working example provided
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now