Solved

Formatting JSON output into a tabular grid

Posted on 2011-02-25
5
532 Views
Last Modified: 2012-05-11
$.ajax({
                  type: 'post',
                  url: something.do,
                  data: $('#someForm').serialize(),
                  success: function(jsonResponse) {
                        if(jsonResponse.errorMap != null) {
                              alert(jsonResponse.errorMap);
                        } else if (jsonResponse.transactionPage != null) {
                              showData(jsonResponse.transactionPage); // instead of this I want it to loop and iterate and paint data as given below...
                        }
                  }
            });  





This showData method gets me unformatted data. I want to format it in a tabular grid in a modal window (JSP).

This is the data that is getting returned

{
  "transactions":
  [
    {
      "error": "",
      "ctrNum1": "123456789",
      "successful": true
    },
   
    {
      "error": "",
      "ctrNum2": "123456791",
      "successful": true
    },
    {
      "error": "",
      "ctrNum3": "123456792",
      "successful": true
    },
    {
      "error": "",
      "ctrNum4": "123456793",
      "successful": true
    }
  ]
}


Also I need iterate or loop in dynamically.



I want to paint the data in a tabular format upon success.

success: function(jsonResponse) {
               if(jsonResponse.errorMap != null){
                alert(jsonResponse.errorMap);
               }else if(jsonResponse.transactionSummary != null){
                  var trans = jsonResponse.transactionSummary;
                  var date =  json.transactionDate;
                      var html = "";
                        alert(jsonResponse.transactionSummary);
                        alert(jsonResponse.transactionSummary.ctrNum);
                        for (var i=0; i < trans.length; i++) {
                              html += "<div><div>" +  (i + 1) + "</div><div>" + trans.ctrNum + "</div>";
                             
                              if (trans.successful == true) {
                                    html += "<div>Successful</div></div>"
                              } else {
                                    html += "<div>" + trans.error + "</div></div>"
                              }
                        }
                 
                  //showData(jsonResponse.transactionSummary);
                  }
              }




0
Comment
Question by:mahaq
  • 2
5 Comments
 
LVL 27

Expert Comment

by:mrcoffee365
ID: 35001048
I don't quite see how Java would help.  This is a purely Javascript question.
0
 
LVL 42

Accepted Solution

by:
Rob Jurd, EE MVE earned 500 total points
ID: 35001971
i think you're almost there, just use the eval function so you can use the iterator:

for (var i=0; i < trans.length; i++) {
	  html += "<div><div>" +  (i + 1) + "</div><div>" + eval("trans.ctrNum"+(i+1)) + "</div>";

	  if (trans.successful == true) {
			html += "<div>Successful</div></div>"
	  } else {
			html += "<div>" + trans.error + "</div></div>"
	  }
}

Open in new window

0
 
LVL 27

Expert Comment

by:mrcoffee365
ID: 35039134
The way EE works is that experts take the time to help you out, and you work with them to get an answer that works for you.  If you don't respond when you have more questions, and then delete the question without assigning points to the expert after getting help, that isn't respectful of the people you have asked to help you.

tagit gave you an excellent answer.  Points should be awarded to him.
0
 

Author Comment

by:mahaq
ID: 35039234
Hi mrcoffee365,

Sorry for the confusion, but I gave 500 points to tagit.
I had no intention of over looking at it.

Once if any one of you feels I caused any disrespect, sorry about it.

 
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Batch, VBS, and scripts in general are incredibly useful for repetitive tasks.  Some tasks can take a while to complete and it can be annoying to check back only to discover that your script finished 5 minutes ago.  Some scripts may complete nearly …
Introduction Got endorsements from your clients?  Great!  There is almost nothing better than word-of-mouth advertising.  But how can you do that on the internet?  Sure you can make a page for endorsement quotations and list them all, but who is …
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question