Java 如何将hashmap值转换为字符串
下面的代码正在打印哈希值而不是数组Java 如何将hashmap值转换为字符串,java,arrays,json,hashmap,hashtable,Java,Arrays,Json,Hashmap,Hashtable,下面的代码正在打印哈希值而不是数组 JSONObject myjson1 = new JSONObject(expectedResult); Iterator x = myjson1.keys(); JSONArray jsonArray = new JSONArray(); while (x.hasNext()){ String key = (String
JSONObject myjson1 = new JSONObject(expectedResult);
Iterator x = myjson1.keys();
JSONArray jsonArray = new JSONArray();
while (x.hasNext()){
String key = (String) x.next();
jsonArray.put(myjson1.get(key));
System.out.println(x);
}
结果如下:
java.util.HashMap$KeyIterator@42a0b130
java.util.HashMap$KeyIterator@3c2a5fb9
java.util.HashMap$KeyIterator@6e68bc46
java.util.HashMap$KeyIterator@3223cb64
java.util.HashMap$KeyIterator@256c426b
PS:将Json转换为数组(key:value)形式不要使用(字符串),而是使用toString()
所以
如果要将其转换为字符串数组:
String[] result = jsonArray.values().toArray(new String[0]);
您可以检查这个:
我建议您使用Gson库来管理.json文件。它更准确,更人性化,效果也很好 顺便说一下,您要求Java打印对象“x”(迭代器)。对象包含对自身内存分配的引用。 您必须要求软件将其转换为人类可读的格式,例如字符串。 因此,尝试在调用x之后添加.toString()方法 试着做一些类似的事情:
JSONObject myjson1 = new JSONObject(expectedResult);
Iterator x = myjson1.keys();
JSONArray jsonArray = new JSONArray();
while (x.hasNext()){
String key = (String) x.next();
jsonArray.put(myjson1.get(key));
System.out.println(x.toString());
}
我希望能有所帮助。请参阅
JSONObject myjson1 = new JSONObject(expectedResult);
Iterator x = myjson1.keys();
JSONArray jsonArray = new JSONArray();
while (x.hasNext()){
String key = (String) x.next();
jsonArray.put(myjson1.get(key));
System.out.println(x.toString());
}