用java解析json

我是json解析的新手,我从请求中抓取了一个json字符串,现在我需要用java解析它。 我正在使用json-lib。 但我真的被困住,因为我不熟悉它。 我需要提取以下数据 1. name (hotel name) 2. starRating 3. geoPoint 我使用了以下java代码,但它没有给我我需要的结果,请有人帮助我… 非常感谢! java代码(s是我得到的json字符串) JSONObject json = (JSONObject) JSONSerializer.toJSON(s); JSONArray jarray = json.getJSONArray(“hotels”); for(int i=0 ; i < jarray.size(); i++) { System.out.println("jarray [" + i + "] ——–" + jarray.getString(i)); } json我需要解析 [ { “total”: 250, “offset”: 0, “requestID”: “-btygi09oxfov”, “locationName”: “Paris, France”, “locationLatitude”: […]

setDefaultCloseOperation代替显示JFrame

我正在制作一个文字处理器应用程序,以便练习Java,我希望它能够在用户尝试关闭应用程序时,JFrame将要求保存更改。 我在考虑setDefaultCloseOperation()但到目前为止我运气不佳。 如果可能的话,我还希望用户点击窗口右上角的“X”。

Maven – java.lang.ClassNotFoundException:com.mysql.jdbc.Driver

我有一个基于Maven的Java应用程序,并希望连接到MySQL服务器。 我的pom有: mysql mysql-connector-java 5.1.17 jar runtime 在运行时 ,因为我想在运行时连接到MySQL服务器 – 也尝试编译和提供,但不起作用。 SQL代码是标准的: String dbClass = “com.mysql.jdbc.Driver”; Class.forName(dbClass); Connection connection = DriverManager.getConnection(dbUrl, username, password); Statement statement = connection.createStatement(); ResultSet resultSet = statement.executeQuery(query); while (resultSet.next()) { String tableName = resultSet.getString(1); System.out.println(“Table name : ” + tableName); } 当我从Eclipse运行它时 ,它工作正常并打印表名。 但是,从maven开始,生成的SNAPSHOT在运行mvn clean install后通过> java -jar target\File.jar执行时总是会出错。 java.lang.ClassNotFoundException:com.mysql.jdbc.Driver 我在这里错过了什么让maven构建工作? […]

如何将一个ArrayList分解并显示为多个表列

我有一个servlet,它加载一个属性文件,并在ArrayList对象中包含100个测试用例名称的列表。 将servlet加载到JSP后,该JSP在表中显示列表。 列表很长,所以我想要一些优雅的方式在表中显示它,以便它分成例如JSP上的三列或四列。 我现在要做的是将列表分解为servlet中的三个子列表: //load properties Properties props = new Properties(); ArrayList tests = new ArrayList(); props.load(getServletContext().getResourceAsStream(“/WEB-INF/sailcertifier.properties”)); Pattern pattern = Pattern.compile(“[AZ]{3}-[0-9]{2}”); for (Enumeration e = props.keys(); e.hasMoreElements();) { String key = (String) e.nextElement(); Matcher m = pattern.matcher(key); if (m.find()) tests.add(key); } Collections.sort(tests, new TestOrderComparator()); confBean.setPossibleTests(tests.toArray(new String[tests.size()])); int third = tests.size() / 3; List testSubset1 = […]

两个不同Java对象的“左连接”

我有一个Object1( List )列表和一个Object2 List ( List ) 对象1具有多个属性,包括id 对象2有多个object1id ,包括object1id 我有一些SQL背景,我想要做的是执行“左连接” object1.id = object2.object1id 这将导致List表示左连接。 我可以用Java硬编码算法(for … for …),但我确信这至少在n * m的复杂度下效率不高。 你有更好的解决方案吗? (如果可能,请使用代码,谢谢!)

为什么BindingResult必须关注@Valid?

当我遇到错误时,我很难让我的Spring MVCvalidation返回页面提交页面。 我终于解决了这个问题,注意到BindingResult需要在我正在validation的表单参数旁边。 例如,如果我将spring.io教程( http://spring.io/guides/gs/validating-form-input/ )中的checkPersonInfo方法修改为 – @RequestMapping(value=”/”, method=RequestMethod.POST) public String checkPersonInfo(@Valid Person person, BindingResult bindingResult, Model model) { if (bindingResult.hasErrors()) { return “form”; } return “redirect:/results”; } 然后它将工作并重定向到表单页面,但如果我将其更改为 – @RequestMapping(value=”/”, method=RequestMethod.POST) public String checkPersonInfo(@Valid Person person, Model model, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return “form”; } return “redirect:/results”; } 然后它重定向到/ errors 这是什么原因?

在jTextField中设置hilighting颜色

我正在开发一个Java Swing应用程序。 此应用程序允许用户使用基本命令行。 例如,用户只需输入add “Something to be added.”即可添加事件add “Something to be added.” 。我想在用户输入此命令时突出显示add 。 任何人都可以实现jTextField。

我的GUI被冻结了

我有一些我无法理解的东西:我的Swing GUI包含一个“播放”和“暂停”按钮。 我还有一个定义’ON’和’OFF’状态的静态变量。 (主程序生成GUI)。 通过克服’play’,我将静态变量的状态更改为’ON’,并在一个也修改GUI的线程中启动一个耗时的过程。 只要静态变量是’ON’循环在同一个进程中。 单击“暂停”会将静态变量更改为OFF。 但是通过点击“播放”,GUI就会冻结,因此: GUI不会更新 使用“暂停”按钮无法“暂停”此过程。 我听说过EDT和SwingWorker,但是我有一个简单的方法可以做到这一点。 谢谢你的帮助,原谅我的英语不好……

使用JScrollPane自定义CellEditor – 开始编辑问题

我有一个JTable,它使用自定义CellEditor,在JScrollPane中使用JTextArea。 当我通过鼠标clic进入编辑模式时,它完美地工作。 但是,当我尝试在单元格聚焦时键入一些字母时,没有任何反应。 单元格获得“编辑模式样式”(背景更改),但保持空白… 任何的想法 ? public class MultiLineCellEditor extends DefaultCellEditor { JTextArea textArea; JScrollPane scrollPane; public MultiLineCellEditor( final JTable table ) { super( new JTextField() ); getComponent().setName( “Table.editor” ); setClickCountToStart( 2 ); textArea = new JTextArea(); scrollPane = new JScrollPane(); scrollPane.setViewportView( textArea ); editorComponent = scrollPane; }//end MultiLineCellEditor public Component getTableCellEditorComponent( JTable table, Object […]

使用JNA从Java调用DLL

我是使用JNA从Java访问DLL的新手。 我需要从DLL中的类(用.net编写)访问方法。 在下面形成此示例DLL,我试图获取AuditID和服务器ID。 我在运行代码时遇到以下错误。 任何指导真的很感激。 ///错误/// Exception in thread “main” java.lang.UnsatisfiedLinkError: Error looking up function ‘GetEnrollcontext’: The specified procedure could not be found. // DLL文件代码// SampleDLL.ProfileEnroll enrollcontext = new SampleDLL.ProfileEnroll(); enrollcontext.Url =” url”; enrollcontext.AuditIdType = SampleDLL.ProfileId; enrollcontext.AuditId = “22222222 “; enrollcontext.ServerId = “server1”; /// Java代码/// import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.Structure; import dllExtract.DLLExtractTest.SampleDLL.Enrollcontext; public class […]