Tell me more ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

i'm using parse.com for the first time and searching for the way to get json response using javascript api. actually, i'm using handlebars as template engine and trying to get json response form parse.com so i can easily pass it to handlebars template. currently, i'm getting object response which needs to do like result.get("title"). i searched the parse.com javascript guide and documentation but couldn't find the way to do this. i'm want to get all the feeds records from parse.com class as json. is there any way to do this any soution??

here's handlebars template script::

<script id="post-template" type="text/x-handlebars-template">
    {{#each feeds}}
        <div class="post" style="padding-top: 5px; width: 307px; margin: 0 auto;" >
            <div style="background: rgba(255,255,255, 0.5); text-align: left;">
                <img src="{{post-img}}" alt="image"/>
                <p>{{post-mes}}</p>
                <p style="position: relative;">
                    <img src="{{post-by-img}}" alt="image" /><label>  By @{{post-by}}</label>
                    <label class="ago" style="vertical-align: top; position: absolute; right: 10px; top: 18px; height: 20px;">{{post-dt}}</label>
                </p>
            </div>
            <div>
                <a href="javascript: alert('Like')" class="button like" >Like</a>
                <a href="javascript: alert('Comment')" class="button comment" >Comment</a>
                <a href="javascript: alert('Share')" class="button share" >Share</a>
            </div>
        </div>
        {{/each}}
    </script>

sample json i'm using to test template::

feeds:[
    {
    'post-img': 'assets/images/photo1.png',
    'post-mes': 'Before the party, with @Marie',
    'post-by':  'Naza',
    'post-by-img':'assets/images/by.jpg',
    'post-dt':  '5 min'
    },
    {
    'post-img': 'assets/images/photo1.png',
    'post-mes': 'Before the party, with @Marie',
    'post-by':  'Naza',
    'post-by-img':'assets/images/by.jpg',
    'post-dt':  '10 min'
    },
    {
    'post-img': 'assets/images/photo1.png',
    'post-mes': 'Before the party, with @Marie',
    'post-by':  'Naza',
    'post-by-img':'assets/images/by.jpg',
    'post-dt':  '15 min'
    }
]

and parse.com script::

var feedsObject = Parse.Object.extend("feeds");
var query = new Parse.Query(feedsObject);

        query.find({ ... });

i like to get it as following::

query.find({
    success: function(feeds){
        //load home page template
        var source = $('#post-template').html();
        var template = Handlebars.compile(source);
        var html = template(feeds);  // here's example with some details [link](http://screencast.com/t/XvPFuafRuIW)
        $('#home .content').append(html);

    },
    error: function(object, error){
        console.log(error);
    }
});

thanks in advance!!!

share|improve this question
No code snippets? – asgoth Jan 2 at 11:13
@asgoth here's handlebars template script: link and the demo json object using with it: link. now i'm trying to get same json response from parse.com. and here is my parse script: link (i know the script is wrong but it's example how i want the response to be (as a json so i can pass the as it is like in screenshot)). currently, there is multiple datas and i have to do query.count and something like feeds[i].get("feed_des") etc. – kishor Jan 2 at 11:30
it might be easier if you just copy/paste the snippets in your question. Makes it easier for SO users to follow. – asgoth Jan 2 at 11:32
@asgoth - question updated with snippets. – kishor Jan 2 at 14:56

1 Answer

up vote 0 down vote accepted

I've never used Parse.com (in fact, didnt know it existed). But in the example here, it returns an array of Parse.Object instances.

Parse.Object has a function toJSON(). This should do it.

So in your case:

query.find({
    success: function(feeds){
        var jsonArray = [];

        for(var i = 0; i < feeds.length; i++) {
           jsonArray.push(feeds[i].toJSON());
        } 

        //load home page template
        var source = $('#post-template').html();
        var template = Handlebars.compile(source);
        var html = template(jsonArray);  // here's example with some details [link](http://screencast.com/t/XvPFuafRuIW)
        $('#home .content').append(html);

    },
    error: function(object, error){
        console.log(error);
    }
});
share|improve this answer
thanks @asgoth !!! – kishor Jan 2 at 16:23

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.