{"id":10126,"date":"2015-08-08T07:00:58","date_gmt":"2015-08-08T11:00:58","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/?p=10126"},"modified":"2016-09-26T18:08:35","modified_gmt":"2016-09-26T22:08:35","slug":"queryviewer-java-an-interactive-database-query-viewer","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=10126","title":{"rendered":"QueryViewer.java: An interactive database query viewer"},"content":{"rendered":"<pre># QueryViewer.java\u00a0 An interactive database query viewer. Connects to the specified Oracle or Sybase database, executes a query, and presents the results in a JTable. Uses the following file:\r\n\r\n\u00a0\u00a0\u00a0 * DBResultsTableModel.java Simple class that tells a JTable how to extract relevant data from a DBResults object (which is used to store the results from a database query). \r\n############################################################################\r\n\r\n\u00a0 package cwp;\r\n\r\nimport java.awt.*;\r\nimport java.awt.event.*;\r\nimport javax.swing.*;\r\nimport javax.swing.table.*;\r\n\r\n\/** An interactive database query viewer. Connects to\r\n\u00a0*\u00a0 the specified Oracle or Sybase database, executes a query,\r\n\u00a0*\u00a0 and presents the results in a JTable.\r\n\u00a0* \u00a0\r\n\r\n\r\n\u00a0*\/\r\n\r\npublic class QueryViewer extends JFrame\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 implements ActionListener{\r\n\u00a0 public static void main(String[] args) {\r\n\u00a0\u00a0\u00a0 new QueryViewer();\r\n\u00a0 }\r\n\r\n\u00a0 private JTextField hostField, dbNameField,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 queryField, usernameField;\r\n\u00a0 private JRadioButton oracleButton, sybaseButton;\r\n\u00a0 private JPasswordField passwordField;\r\n\u00a0 private JButton showResultsButton;\r\n\u00a0 Container contentPane;\r\n\u00a0 private JPanel tablePanel;\r\n\u00a0 \r\n\u00a0 public QueryViewer () {\r\n\u00a0\u00a0\u00a0 super(\"Database Query Viewer\");\r\n\u00a0\u00a0\u00a0 WindowUtilities.setNativeLookAndFeel();\r\n\u00a0\u00a0\u00a0 addWindowListener(new ExitListener());\r\n\u00a0\u00a0\u00a0 contentPane = getContentPane();\r\n\u00a0\u00a0\u00a0 contentPane.add(makeControlPanel(), BorderLayout.NORTH);\r\n\u00a0\u00a0\u00a0 pack();\r\n\u00a0\u00a0\u00a0 setVisible(true);\r\n\u00a0 }\r\n\r\n\u00a0 \/** When the \"Show Results\" button is pressed or\r\n\u00a0\u00a0 *\u00a0 RETURN is hit while the query textfield has the\r\n\u00a0\u00a0 *\u00a0 keyboard focus, a database lookup is performed,\r\n\u00a0\u00a0 *\u00a0 the results are placed in a JTable, and the window\r\n\u00a0\u00a0 *\u00a0 is resized to accommodate the table.\r\n\u00a0\u00a0 *\/\r\n\u00a0 \r\n\u00a0 public void actionPerformed(ActionEvent event) {\r\n\u00a0\u00a0\u00a0 String host = hostField.getText();\r\n\u00a0\u00a0\u00a0 String dbName = dbNameField.getText();\r\n\u00a0\u00a0\u00a0 String username = usernameField.getText();\r\n\u00a0\u00a0\u00a0 String password =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 String.valueOf(passwordField.getPassword());\r\n\u00a0\u00a0\u00a0 String query = queryField.getText();\r\n\u00a0\u00a0\u00a0 int vendor;\r\n\u00a0\u00a0\u00a0 if (oracleButton.isSelected()) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 vendor = DriverUtilities.ORACLE;\r\n\u00a0\u00a0\u00a0 } else {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 vendor = DriverUtilities.SYBASE;\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 if (tablePanel != null) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 contentPane.remove(tablePanel);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 tablePanel = makeTablePanel(host, dbName, vendor,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 username, password,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 query);\r\n\u00a0\u00a0\u00a0 contentPane.add(tablePanel, BorderLayout.CENTER);\r\n\u00a0\u00a0\u00a0 pack();\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ Executes a query and places the result in a\r\n\u00a0 \/\/ JTable that is, in turn, inside a JPanel.\r\n\u00a0 \r\n\u00a0 private JPanel makeTablePanel(String host,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 String dbName,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 int vendor,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 String username,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 String password,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 String query) {\r\n\u00a0\u00a0\u00a0 String driver = DriverUtilities.getDriver(vendor);\r\n\u00a0\u00a0\u00a0 String url = DriverUtilities.makeURL(host, dbName, vendor);\r\n\u00a0\u00a0\u00a0 DBResults results =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 DatabaseUtilities.getQueryResults(driver, url,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 username, password,\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 query, true);\r\n\u00a0\u00a0\u00a0 JPanel panel = new JPanel(new BorderLayout());\r\n\u00a0\u00a0\u00a0 if (results == null) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 panel.add(makeErrorLabel());\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 return(panel);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 DBResultsTableModel model =\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 new DBResultsTableModel(results);\r\n\u00a0\u00a0\u00a0 JTable table = new JTable(model);\r\n\u00a0\u00a0\u00a0 table.setFont(new Font(\"Serif\", Font.PLAIN, 17));\r\n\u00a0\u00a0\u00a0 table.setRowHeight(28);\r\n\u00a0\u00a0\u00a0 JTableHeader header = table.getTableHeader();\r\n\u00a0\u00a0\u00a0 header.setFont(new Font(\"SansSerif\", Font.BOLD, 13));\r\n\u00a0\u00a0\u00a0 panel.add(table, BorderLayout.CENTER);\r\n\u00a0\u00a0\u00a0 panel.add(header, BorderLayout.NORTH);\r\n\u00a0\u00a0\u00a0 panel.setBorder\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 (BorderFactory.createTitledBorder(\"Query Results\"));\r\n\u00a0\u00a0\u00a0 return(panel);\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ The panel that contains the textfields, checkboxes,\r\n\u00a0 \/\/ and button.\r\n\u00a0 \r\n\u00a0 private JPanel makeControlPanel() {\r\n\u00a0\u00a0\u00a0 JPanel panel = new JPanel(new GridLayout(0, 1));\r\n\u00a0\u00a0\u00a0 panel.add(makeHostPanel());\r\n\u00a0\u00a0\u00a0 panel.add(makeUsernamePanel());\r\n\u00a0\u00a0\u00a0 panel.add(makeQueryPanel());\r\n\u00a0\u00a0\u00a0 panel.add(makeButtonPanel());\r\n\u00a0\u00a0\u00a0 panel.setBorder\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 (BorderFactory.createTitledBorder(\"Query Data\"));\r\n\u00a0\u00a0\u00a0 return(panel);\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ The panel that has the host and db name textfield and\r\n\u00a0 \/\/ the driver radio buttons. Placed in control panel.\r\n\u00a0 \r\n\u00a0 private JPanel makeHostPanel() {\r\n\u00a0\u00a0\u00a0 JPanel panel = new JPanel();\r\n\u00a0\u00a0\u00a0 panel.add(new JLabel(\"Host:\"));\r\n\u00a0\u00a0\u00a0 hostField = new JTextField(15);\r\n\u00a0\u00a0\u00a0 panel.add(hostField);\r\n\u00a0\u00a0\u00a0 panel.add(new JLabel(\"\u00a0\u00a0\u00a0 DB Name:\"));\r\n\u00a0\u00a0\u00a0 dbNameField = new JTextField(15);\r\n\u00a0\u00a0\u00a0 panel.add(dbNameField);\r\n\u00a0\u00a0\u00a0 panel.add(new JLabel(\"\u00a0\u00a0\u00a0 Driver:\"));\r\n\u00a0\u00a0\u00a0 ButtonGroup vendorGroup = new ButtonGroup();\r\n\u00a0\u00a0\u00a0 oracleButton = new JRadioButton(\"Oracle\", true);\r\n\u00a0\u00a0\u00a0 vendorGroup.add(oracleButton);\r\n\u00a0\u00a0\u00a0 panel.add(oracleButton);\r\n\u00a0\u00a0\u00a0 sybaseButton = new JRadioButton(\"Sybase\");\r\n\u00a0\u00a0\u00a0 vendorGroup.add(sybaseButton);\r\n\u00a0\u00a0\u00a0 panel.add(sybaseButton);\r\n\u00a0\u00a0\u00a0 return(panel);\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ The panel that has the username and password textfields.\r\n\u00a0 \/\/ Placed in control panel.\r\n\u00a0 \r\n\u00a0 private JPanel makeUsernamePanel() {\r\n\u00a0\u00a0\u00a0 JPanel panel = new JPanel();\r\n\u00a0\u00a0\u00a0 usernameField = new JTextField(10);\r\n\u00a0\u00a0\u00a0 passwordField = new JPasswordField(10);\r\n\u00a0\u00a0\u00a0 panel.add(new JLabel(\"Username: \"));\r\n\u00a0\u00a0\u00a0 panel.add(usernameField);\r\n\u00a0\u00a0\u00a0 panel.add(new JLabel(\"\u00a0\u00a0\u00a0 Password:\"));\r\n\u00a0\u00a0\u00a0 panel.add(passwordField);\r\n\u00a0\u00a0\u00a0 return(panel);\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ The panel that has textfield for entering queries.\r\n\u00a0 \/\/ Placed in control panel.\r\n\u00a0 \r\n\u00a0 private JPanel makeQueryPanel() {\r\n\u00a0\u00a0\u00a0 JPanel panel = new JPanel();\r\n\u00a0\u00a0\u00a0 queryField = new JTextField(40);\r\n\u00a0\u00a0\u00a0 queryField.addActionListener(this);\r\n\u00a0\u00a0\u00a0 panel.add(new JLabel(\"Query:\"));\r\n\u00a0\u00a0\u00a0 panel.add(queryField);\r\n\u00a0\u00a0\u00a0 return(panel);\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ The panel that has the \"Show Results\" button.\r\n\u00a0 \/\/ Placed in control panel.\r\n\u00a0 \r\n\u00a0 private JPanel makeButtonPanel() {\r\n\u00a0\u00a0\u00a0 JPanel panel = new JPanel();\r\n\u00a0\u00a0\u00a0 showResultsButton = new JButton(\"Show Results\");\r\n\u00a0\u00a0\u00a0 showResultsButton.addActionListener(this);\r\n\u00a0\u00a0\u00a0 panel.add(showResultsButton);\r\n\u00a0\u00a0\u00a0 return(panel);\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ Shows warning when bad query sent.\r\n\u00a0 \r\n\u00a0 private JLabel makeErrorLabel() {\r\n\u00a0\u00a0\u00a0 JLabel label = new JLabel(\"No Results\", JLabel.CENTER);\r\n\u00a0\u00a0\u00a0 label.setFont(new Font(\"Serif\", Font.BOLD, 36));\r\n\u00a0\u00a0\u00a0 return(label);\r\n\u00a0 }\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p># QueryViewer.java\u00a0 An interactive database query viewer. Connects to the specified Oracle or Sybase database, executes a query, and presents the results in a JTable. Uses the following file: \u00a0\u00a0\u00a0 * DBResultsTableModel.java Simple class that tells a JTable how to extract relevant data from a DBResults object (which is used to store the results from &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=10126\">Continue reading<\/a><\/p>\n","protected":false},"author":130,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1417,1424],"tags":[706,308,1451,285,859],"class_list":["post-10126","post","type-post","status-publish","format-standard","hentry","category-code-programming-samples--","category-javaj2eej2me","tag-code","tag-java","tag-1451","tag-285","tag-859","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":26850,"url":"http:\/\/bangla.sitestree.com\/?p=26850","url_meta":{"origin":10126,"position":0},"title":"QueryViewer.java: An interactive database query viewer #Programming Code Examples #Java\/J2EE\/J2ME #JDBC","author":"Author-Check- Article-or-Video","date":"May 3, 2021","format":false,"excerpt":"# QueryViewer.java An interactive database query viewer. Connects to the specified Oracle or Sybase database, executes a query, and presents the results in a JTable. Uses the following file: * DBResultsTableModel.java Simple class that tells a JTable how to extract relevant data from a DBResults object (which is used to\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10128,"url":"http:\/\/bangla.sitestree.com\/?p=10128","url_meta":{"origin":10126,"position":1},"title":"extract relevant data from a DBResults","author":"","date":"August 6, 2015","format":false,"excerpt":"# QueryViewer.java\u00a0 An interactive database query viewer. Connects to the specified Oracle or Sybase database, executes a query, and presents the results in a JTable. Uses the following file: \u00a0\u00a0\u00a0 * DBResultsTableModel.java Simple class that tells a JTable how to extract relevant data from a DBResults object (which is used\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10106,"url":"http:\/\/bangla.sitestree.com\/?p=10106","url_meta":{"origin":10126,"position":2},"title":"FruitTest.java: A class that connects to either an Oracle or a Sybase database and prints out the values of predetermined columns in the &#8220;fruits&#8221; table.","author":"","date":"August 2, 2015","format":false,"excerpt":"# FruitTest.java\u00a0 A class that connects to either an Oracle or a Sybase database and prints out the values of predetermined columns in the \"fruits\" table. package cwp; import java.sql.*; \/** A JDBC example that connects to either an Oracle or \u00a0*\u00a0 a Sybase database and prints out the values\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26822,"url":"http:\/\/bangla.sitestree.com\/?p=26822","url_meta":{"origin":10126,"position":3},"title":"FruitTest.java:  A class that connects to either an Oracle or a Sybase database and prints out the values of predetermined columns in the &quot;fruits&quot; table. #Programming Code Examples #Java\/J2EE\/J2ME #JDBC","author":"Author-Check- Article-or-Video","date":"May 2, 2021","format":false,"excerpt":"# FruitTest.java A class that connects to either an Oracle or a Sybase database and prints out the values of predetermined columns in the \"fruits\" table. package cwp; import java.sql.*; \/** A JDBC example that connects to either an Oracle or * a Sybase database and prints out the values\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10113,"url":"http:\/\/bangla.sitestree.com\/?p=10113","url_meta":{"origin":10126,"position":4},"title":"DatabaseUtilities.java: Several general-purpose utilities discussed and used in the chapter.","author":"","date":"August 4, 2015","format":false,"excerpt":"package cwp; import java.sql.*; \/** Three database utilities: \u00a0*\u00a0\u00a0 1) getQueryResults. Connects to a database, executes \u00a0*\u00a0\u00a0\u00a0\u00a0\u00a0 a query, retrieves all the rows as arrays \u00a0*\u00a0\u00a0\u00a0\u00a0\u00a0 of strings, and puts them inside a DBResults \u00a0*\u00a0\u00a0\u00a0\u00a0\u00a0 object. Also places the database product name, \u00a0*\u00a0\u00a0\u00a0\u00a0\u00a0 database version, and the names of all\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10120,"url":"http:\/\/bangla.sitestree.com\/?p=10120","url_meta":{"origin":10126,"position":5},"title":"EmployeeTest2.java: A test case for the database utilities. Prints results formatted as an HTML table.","author":"","date":"August 5, 2015","format":false,"excerpt":"package cwp; import java.sql.*; \/** Connect to Oracle or Sybase and print \"employees\" table \u00a0*\u00a0 as an HTML table. \u00a0* \u00a0 \u00a0*\/ public class EmployeeTest2 { \u00a0 public static void main(String[] args) { \u00a0\u00a0\u00a0 if (args.length < 5) { \u00a0\u00a0\u00a0\u00a0\u00a0 printUsage(); \u00a0\u00a0\u00a0\u00a0\u00a0 return; \u00a0\u00a0\u00a0 } \u00a0\u00a0\u00a0 String vendorName = args[4];\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/130"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10126"}],"version-history":[{"count":2,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10126\/revisions"}],"predecessor-version":[{"id":10631,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10126\/revisions\/10631"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10126"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}