我试图使用com.fasterxml.jackson.databind.ObjectMapper
将json字符串转换为hashmap。
String str = "{\"key\":\"[{\"one\":\"value\"}]\"}";
ObjectMapper mapper = new ObjectMapper();
try {
HashMap<String, String> map = mapper.readValue(str, HashMap.class);
System.out.println(map);
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
e.printStackTrace();
}
但是得到下面的错误,
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('o' (code 111)): was expecting comma to separate Object entries
at [Source: (String)"{"key": "[{"one":"value"}]"}"; line: 1, column: 14]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2391)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:735)
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:659)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._skipComma(ReaderBasedJsonParser.java:2382)
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextFieldName(ReaderBasedJsonParser.java:947)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBindStringKeyMap(MapDeserializer.java:594)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:437)
at com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:32)
at com.fasterxml.jackson.databind.deser.DefaultDeserializationContext.readRootValue(DefaultDeserializationContext.java:323)
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4674)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3629)
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3597)
at com.sample.quick.check.one.App.main(App.java:15)
在json字符串中,我希望键和值作为字符串并将它们存储到hashMap中。我不想将值解析为jsonArray。
JSON 字符串无效。如果 key
的值是字符串,则需要转义 \”。
这意味着您需要告诉“Java”来转义\
字符。
将字符串更改为String str = "{\"key\":\"[{\\\"one\\\":\\\"value\\\"}]\"}";
这意味着:
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.HashMap;
class Scratch {
public static void main(String[] args) {
String str = "{\"key\":\"[{\\\"one\\\":\\\"value\\\"}]\"}";
ObjectMapper mapper = new ObjectMapper();
try {
HashMap<String, String> map = mapper.readValue(str, HashMap.class);
System.out.println(map);
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
我试图将一个Json字符串转换成HashMap,但是它不起作用。我的代码: 我得到以下例外: 我做错了什么?还有其他的转换可能性吗?或者有什么遗漏吗?
我有以下JSON字符串: 我只想要和。我试过这样的方法: 但我得到了以下错误: 我只使用过几次JSON。有人能帮我吗? 对我来说最好的例子是这样的,我在另一个例子中做过: 可能吗? 现在我已经做到了: 我试着这样做: 然后: 但现在当我做一个Prtinout时,我会得到和以前一样的错误:
我试图获取任意长度的字符串[],并将其打印成字符串,最好使用字段分隔符。现在我有: 但是由于某种原因,它只是返回“第二个”值。我如何使它正确连接这些值? 另外,我可以使用来简化代码吗?谢谢
我正在以JSON字符串的形式从数据库中获取数据: 如何从给定的JSON字符串中提取公司名称?
我在文件中有一个字符串 当读取该文件时,文本显然是这样的: 是否有干净的方法转换此字符串,以便文件中的值也是代码中字符串的实际值。换句话说,例如,是
问题内容: 是否有快速功能将通过接收到的JSON对象转换为字符串变量转储(用于跟踪/调试)? 问题答案: 是的,可以在此处找到,它包含在Firefox 3.5.4及更高版本中。 JSON字符串反方向,将JavaScript数据结构转换为JSON文本。 JSON不支持循环数据结构,因此请注意不要将循环结构提供给JSON字符串化器。 https://web.archive.org/web/201006