使用JSONObject和JSONArray创建json字符串

我有这样的数据: NewsItem: ID 标题 日期 文本 可能有很多NewsItems说10.我必须将它们发送到jquery。 我这样做: JSONObject obj = new JSONObject(); JSONArray arr = new JSONArray(); for(int i = 0 ; i< list.size() ; i++){ p = list.get(i); arr.put(p.getId()); arr.put(p.getTitle()); arr.put(new MyDateFormatter().getStringFromDateDifference(p.getCreationDate())); arr.put(getTrimmedText(p.getText())); obj.put(""+i,arr); arr = new JSONArray(); } 这将创建一个像这样的JSON字符串: {“1”:[“id”,”title”,”date”,”txt”],”2″:[……and so on… 这样做是否正确? 我如何解析这个字符串,以便我可以在jQuery中获取每个新闻项对象,以便我可以访问attr。 喜欢这个: obj.id, obj.title 或者,如果这是创建JSON字符串的错误方法,请使用jQuery中的解析示例提出一些更好的方法。

如何在调用HttpServletResponse.encodeURL()时将Tomcat配置为不将会话ID编码到URL中

看起来像一个愚蠢的问题,答案是“不要使用encodeURL()!” 但是我正在使用在JSP中使用netui锚标签的代码库,我需要禁用将JSESSIONID写入URL,因为这是一个安全风险。 在WebLogic中,您可以通过在weblogic.xml中配置url-rewriting-enabled来配置它(我知道,因为我在WebLogic服务器中编写了该function!)。 但是,我找不到Tomcat的等效配置选项。

Joda时间:如何在某个日期间隔获取工作日的日期?

我有两个LocalDates代表一些时间间隔。 现在我必须得到所有星期五的LocalDates,这个间隔包含。 最简单的方法吗?

如何从Eclipse-RCP中的导入向导中删除类别?

我需要在我的eclipse-rcp应用程序中添加导入向导。 为此,我想使用只有我的类别的现有向导。 我在互联网上找到了几个例子,但它们并没有多大帮助。 我的问题是我不仅有我的类别,还有通用类别。 如果可能的话,我想删除它。 实际上我在这里找到了一个解决方案,但似乎它没有用。 我试图在WorkbrenchWindowAdvisor和ActionBarAdvisor中提供提供的代码片段,甚至在创建向导之前执行它,但是仍有5个可能向导的常规类别。 任何建议,如何删除它或至少隐藏? BR,AlexG。

我怎么能在一个线程中停止块方法DatagramSocket.receive()

我在主线程中创建一个DatagramSocket ,然后创建一个内部类线程来监听端口。 当我在主线程中关闭DatagramSocket时,它总是遇到一个错误的socket closed因为在内部类线程中我调用了receive()方法,并且它阻塞了内部类线程。 这是内部类的代码: class ReceiveText extends Thread { @Override public void run() { while(true) { byte[] buffer = new byte[1024]; DatagramPacket dp = new DatagramPacket(buffer, buffer.length); try { udpSocket.receive(dp);//blocked here byte[] data = dp.getData(); String message = new String(data, 0 , dp.getLength()); setTxtAreaShowMessage(message); } catch (IOException e) { e.printStackTrace(); } } } } […]

错误:找不到合适的构造函数

我是java新手,我正在尝试为Minecraft制作一个mod,但我无法弄清楚如何解决这个错误: src\minecraft\net\minecraft\src\ThreadConnectToServer.java:39: error: no suitabl e constructor found for Packet2ClientProtocol(int,Minecraft,String,String,int) GuiConnecting.getNetClientHandler(this.connectingGui).addToSendQueue (new Packet2ClientProtocol(51, GuiConnecting.func_74254_c(this.connectingGui), t his.Username, this.ip, this.port)); ^ constructor Packet2ClientProtocol.Packet2ClientProtocol(int,String,int) is n ot applicable (actual and formal argument lists differ in length) constructor Packet2ClientProtocol.Packet2ClientProtocol() is not applicable (actual and formal argument lists differ in length) 1 error 这是我的代码: package net.minecraft.src; import java.net.ConnectException; import java.net.UnknownHostException; […]

使用javax.smartcardio从mifare classic中读取块

我想使用Java的javax.smartcardio阅读关于Mifare classic的特定块。 这是我的代码: public byte[] getCardUID() throws CardException { CardTerminals terminals = TerminalFactory.getDefault().terminals(); terminal = terminals.list().get(0); Card card = terminal.connect(“*”); CardChannel channel = card.getBasicChannel(); CommandAPDU command = new CommandAPDU( new byte[] { (byte) 0xFF, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x04, (byte) 0xD4, (byte) 0x4A, (byte) 0x01, (byte) 0x00 }); ResponseAPDU response = channel.transmit(command); […]

包装和知名度

我正在制作SDK,我正在尝试将类分离到不同的包,这些类使用其他一些共享类。 问题是如果我公开共享类,每个人都能看到它们,而不仅仅是我的类。 什么是使它们只能由我的应用程序访问的正确方法? 示例: 打包MyClass1 包装b MyClass2 包c公共MySharedClass 因为c是公共的MySharedClass将能够访问它,但问题是它也将对世界可见,我怎么能阻止它呢?

如何确定哪些行在可滚动的JTextArea中可见?

如何确定第一个可见行的数量和可滚动的JTextArea(JScrollPane中的JTextArea)中当前可见的行数?

如果哈希表中的键是一个类对象,那么containsKey是如何工作的?

当我们在哈希表中放置一个类Object(有三个数据成员)时,如何防止将另一个条目放入其密钥具有相同三个数据成员的哈希表中? 我猜这将是一个新的对象。 因此,即使存在与等待插入的数据成员具有相同数据成员的键(此类对象),hashtable.containsKey()也将返回false。 更清楚:我有一个类似的课程 class Triplet { private Curr curr; private Prev prev; private Next next; } 我有一个哈希表结构,如: Hashtable table = new Hashtable(); 当我做: if(!table.containsKey(triplet_to_inserted)) table.put(triplet, new Integer(0)); 即使表中包含已具有相同数据成员的三元组,这是否会插入副本? 即:triplet_to_be_inserted.curr,triplet_to_be_inserted.next和triplet_to_be_inserted.prev如果是,如何防止这种情况? 此外,对于要插入的任何条目,containsKey()是否会返回true? 如何解决这个问题? 谢谢。