Posted By

d3developer on 07/24/10


Tagged


Versions (?)

@fractastical Jsonify SObject


 / Published in: Other
 

  1.  
  2. // see: http://community.salesforce.com/t5/Apex-Code-Development/Building-a-reusable-JSON-component/m-p/172428
  3. // and: http://joe-ferraro.com/2009/04/extjs-vf-json/
  4.  
  5. public String getJson()
  6. {
  7. if (jsonData == null)
  8. {
  9.  
  10. jsonData = '';
  11. try {
  12. System.debug('getJsonifiedObjectRecords for:' + fieldname + ' ' + objectToLookup );
  13.  
  14. List<String> columns = new List<String>();
  15.  
  16. columns.add('id');
  17. if(displayColumn != null)
  18. columns.add(displayColumn);
  19. else
  20. columns.add('name');
  21.  
  22. String queryString = 'Select id, ' + displayColumn + ' from ' + objectToLookup + ' limit 1000';
  23. System.debug('queryString:' + queryString);
  24. List<sObject> sos = Database.query(queryString);
  25. //Map<String, Schema.SObjectField> columns = sos.getSObjectType().getDescribe().fields.getMap();
  26.  
  27. jsonData += '[';
  28. for (sObject so : sos) {
  29. jsonData += ' { ';
  30. for(String column : columns)
  31. {
  32. System.debug('jsonData:' + jsonData);
  33. try
  34. {
  35. string cellVal = String.valueOf( so.get(column));
  36. jsonData += ''+column+': "'+cellVal+'",';
  37. }
  38. catch(Exception ex)
  39. {
  40. System.debug(ex);
  41. }
  42. }
  43. jsonData = jsonData.substring(0, jsonData.length() - 1);
  44. jsonData = jsonData + '},';
  45.  
  46. }
  47.  
  48. jsonData = jsonData.subString(0,jsonData.length() - 1);
  49. jsonData = jsonData + ']';
  50.  
  51. }
  52. catch(Exception e)
  53. {
  54. System.debug('Bad query in Jsonify Call ' + e);
  55. }
  56. }
  57.  
  58. System.debug('jsonData:' + jsonData);
  59. return jsonData;
  60. }
  61.  
  62.  
  63.  

Report this snippet  

You need to login to post a comment.