Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Formatting JSON output into a tabular grid

Posted on 2011-02-25
5
Medium Priority
?
538 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 43

Accepted Solution

by:
Rob earned 2000 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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

The Windows functions GetTickCount and timeGetTime retrieve the number of milliseconds since the system was started. However, the value is stored in a DWORD, which means that it wraps around to zero every 49.7 days. This article shows how to solve t…
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
Suggested Courses

963 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