我正在尝试使用Jackson将HashMap转换为JSON表示形式。
但是,我所见过的所有方法都涉及写入文件然后再读回,这似乎效率很低。我想知道是否有直接做的办法?
这是我想做的一个例子
public static Party readOneParty(String partyName) {
Party localParty = new Party();
if(connection==null) {
connection = new DBConnection();
} try {
String query = "SELECT * FROM PureServlet WHERE PARTY_NAME=?";
ps = con.prepareStatement(query);
ps.setString(1, partyName);
resultSet = ps.executeQuery();
meta = resultSet.getMetaData();
String columnName, value;
resultSet.next();
for(int j=1;j<=meta.getColumnCount();j++) { // necessary to start at j=1 because of MySQL index starting at 1
columnName = meta.getColumnLabel(j);
value = resultSet.getString(columnName);
localParty.getPartyInfo().put(columnName, value); // this is the hashmap within the party that keeps track of the individual values. The column Name = label, value is the value
}
}
}
public class Party {
HashMap <String,String> partyInfo = new HashMap<String,String>();
public HashMap<String,String> getPartyInfo() throws Exception {
return partyInfo;
}
}
输出看起来像这样
"partyInfo": {
"PARTY_NAME": "VSN",
"PARTY_ID": "92716518",
"PARTY_NUMBER": "92716518"
}
到目前为止,我遇到的每个示例都ObjectMapper
涉及到写入文件然后将其读回。
是否有杰克逊(Jackson)版本的Java HashMap
或Map
将以与我已实现的方式相似的方式工作?
将您的地图传递给 ObjectMapper.writeValueAsString(Object value)
根据docsStringWriter
,它比使用效率更高:
可用于将任何Java值序列化为String的方法。在功能上等效于使用StringWriter调用writeValue(Writer,Object)并构造String,但效率更高。
例
import org.codehaus.jackson.map.ObjectMapper;
import java.io.IOException;
import html" target="_blank">java.util.HashMap;
import java.util.Map;
public class Example {
public static void main(String[] args) throws IOException {
Map<String,String> map = new HashMap<>();
map.put("key1","value1");
map.put("key2","value2");
String mapAsJson = new ObjectMapper().writeValueAsString(map);
System.out.println(mapAsJson);
}
}
问题内容: 我正在尝试使用Java通过套接字发送多个图像,但我需要一种更快的方法将图像转换为字节数组,以便可以发送它们。我尝试了以下代码,但它向C:\驱动器写入了大约10,000张图像。有没有一种方法可以在不写入磁盘的情况下进行转换?谢谢! 问题答案: 这应该工作:
问题内容: 我正在尝试做这样的事情,但它不起作用: 但是IDE说: 未经检查的作业 什么是正确的方法?我仅使用Jackson,因为这已在项目中提供,是否存在本机Java转换为JSON或从JSON转换的方式? 在PHP中,我将简单地得到一个数组。我这里基本上需要同样的东西。 问题答案: 我有以下代码: 它是从文件读取的,但也将接受,并且你可以使用以下命令从字符串中获取:
不推荐使用,是否有其他解决此问题的方法?
问题内容: 像这样转换JSON代码的最佳方法是什么: 在Java Map中,其中一个键为(field1,field2),而这些字段的值为(value1,value2)。 有任何想法吗?我应该使用Json-lib吗?或者,如果我编写自己的解析器会更好? 问题答案: 我希望您在开玩笑编写自己的解析器。:-) 对于这种简单的映射,http://json.org(java部分)中的大多数工具都可以使用。对
可以使用系统默认zoneId将其转换为,但我没有找到将epoch second转换为的方法(请参见下面的),因为没有。我觉得很晦涩。 上面给出的源代码是Scala。
问题内容: 像这样转换JSON代码的最佳方法是什么: 在Java Map中,其中一个键为(field1,field2),而这些字段的值为(value1,value2)。 有任何想法吗?我应该使用Json-lib吗?或者,如果我编写自己的解析器会更好? 问题答案: 我希望你在开玩笑地编写自己的解析器。: 对于这样的简单映射,http://json.org(java部分)中的大多数工具都可以使用。对于