它应该是如此简单,但我在尝试一小时#embarrasing后找不到它.
我需要获取一个JSON字符串,例如{"k1":v1,"k2":v2}
,解析为JsonNode
.
JsonFactory factory = new JsonFactory();
JsonParser jp = factory.createJsonParser("{\"k1\":\"v1\"}");
JsonNode actualObj = jp.readValueAsTree();
Run Code Online (Sandbox Code Playgroud)
给
java.lang.IllegalStateException: No ObjectCodec defined for the parser, can not deserialize JSON into JsonNode tree
在尝试构建jar时,我遇到了太长的行错误.清单文件中的长行是Class-Path行,因为应用程序使用了许多第三方库.不用说,我正在使用Windows :-(和Eclipse Java 1.6
我想Class-Path: lib
还是Class-Path: lib/
,但他们没有工作.
我收到一个JSONException抱怨非常深的嵌套(超过30).我知道这个值是在JSONWriter中硬编码的.我能做什么?如果存在这样的事情,使用另一个没有这个限 切换到XML?
更新: 我将标记的树结构序列化为JSON.所以从root开始,每个节点都在嵌套它们的子节点,而这些节点又将它们嵌套...
{"type":"n1","links":[{"label":"l1","target":{"type":"n2","links":[{"label":"l2","target":{ ...}}]}}]}
Run Code Online (Sandbox Code Playgroud)
我可能不得不重新思考我序列化对象结构的方式.
更新:我正在使用org.json
我很难尝试使用itextpdf生成包含希腊字母的PDF文件.我正在从外部源读取字符串作为UTF-8字符串.英语字母出现在结果中但不出现在希腊语中.搜索问题,我认为它可能与使用的字体有关.如果这是问题,我不知道要使用什么ttf文件.这是我如何创建字体
BaseFont bfTimes = BaseFont.createFont(FontFactory.HELVETICA,"UTF-8", BaseFont.EMBEDDED);
Font times = new Font(bfTimes, 12, Font.BOLD);
Run Code Online (Sandbox Code Playgroud)
衷心感谢任何帮助!