我使用下面的代码来解码JSON字符串用它来生成对象。
{"av":{"tid":"1000","sslist":[{"ss":{"ssId":"1","ssName":"Test ss "name one"}},{"ss":{"ssId":"2","ssName":"Test ss name two"}}],"hl":{"lc":0}}}
现在,我的sslist
数百元素和所有在第一ss
元素失败,因为一个血腥"
在ssName
。
但是,当String在createJsonParser()方法的最开始解析时会引发此错误。
问:
我只想忽略错误倾向节点和正确的节点的其他百进行。 有没有其他方法可以做到这一点?
代码:
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonFactory;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.JsonNode;
public class JsonReader {
private void readJsonMethodThree(String jsonString) throws JsonParseException, IOException{
ObjectMapper mapper = new ObjectMapper();
JsonFactory factory = mapper.getJsonFactory();
JsonParser jsonParser = factory.createJsonParser(jsonString);
JsonNode jsonNode = mapper.readTree(jsonParser);
}
}
例外:
Exception in thread "main" com.fasterxml.jackson.core.JsonParseException: Unexpected character ('n' (code 110)): was expecting comma to separate OBJECT entries
at [Source: [email protected]5d; line: 1, column: 69]
在将每个属性的文本作为JSON发送到浏览器之前,您应该转义它们中的文本。 – crush
谢谢。但是我在阅读时正在寻找一种方法来处理它。 – namalfernandolk
不,你的JSON生产者应该照顾这个 – epoch