问题标签 [json-lib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 未正确处理具有文字值“null”的非空字符串 - JSON-lib 中的错误
遇到一个最近的问题,用户提交的字符串值“null”作为“null”存储到数据库中。基本上在字符串的开头和结尾添加了双引号。
调查显示 JSON-lib 似乎没有正确处理“空”字符串值。这通过以下测试方法表现出来。
基本上当浏览器将 ["null", "aValue"] 发送到服务器时,JSON-lib 会将其更改为 ["\"null\"", "aValue"]。同样从服务器端,我们无法使用 JSONArray 构造 JSON 格式的字符串,例如 ["null", "b"]。JSON-lib 似乎无法正确处理这两种基本情况。
已通过电子邮件发送到邮件列表并在其网站上发送了联系电子邮件,但尚未回复。好像之前有人在上面发过这个问题
http://sourceforge.net/p/json-lib/discussion/587134/thread/faf83e9a/
但也没有任何回应。
任何机构对此问题有任何建议/修复?
我们正在使用最新版本的 json-lib 即 2.4
更新
看json lib net.sf.json.util.JSONUtils.mayBeJSON方法的源码有点奇怪。
似乎任何“null”的字面字符串值都被视为 JSON ?
java - 如何使用 json-lib 制作像这样的 json 格式?
我使用以下代码打印 json 字符串:
我把items和totalPage放到了map
,而在items中,还有其他map
在一个ArrayList
..
现在结果看起来像:它是根上的数组
但我希望结果格式是这样的:
我能怎么做??
json - Deserialize string value by JSON-lib (net.sf.json)
I have discovered problem in JSON-Lib with deserialization of JSON string data in nested objects. Following code in Groovy demonstrates problem, you can test it in Groovy Console:
In the example above both attributes
in JSON have the same string value "{test:1}"
. JSONSerializer deserialize the first one into String
value but second one into (maybe) JSONObject
. I'm not sure because class of that object returns null.
For different string value (which doesn't look like JSON data, e.g. "blah"
) it works.
How can I change this behavior?
UPDATE
I have tried to quote string values based on JSON-Lib documentation here (thanks to @GemK for pointing there), but with same result. Quoting string values doesn't work in nested objects :-(
java - xml 到 Json 到 xml 的可逆转换 json-lib
我正在尝试使用 json-lib 进行可逆的 xml-json-xml 通用转换,根据其文档进行转换,如Converting Between Xml And Json中所述。根据文件:
结构化 XML 元素可以转换为可逆 JSON 结构,如果
- 所有子元素名称只出现一次,或
- 具有相同名称的子元素按顺序排列。
我尝试了以下代码片段:
请注意,示例 xml 确实符合条件。然而,结果是:
请注意
- 元素顺序已更改。似乎在序列化 xml 时对子元素进行了排序。
- 我们插入了一些额外的 o 和 e 元素
json-lib 是否缺少任何设置来防止这两个问题?
我确实注意到一个 javascript 库https://code.google.com/p/x2js/似乎运行良好(尽管还有其他问题),但我正在寻找一个已经在 java 中可用的库。我想要一个保留xml结构和元素顺序的东西。我的 XML 文档在子元素上确实满足上述两个条件。
java - 原因:java.lang.ClassNotFoundException:com.myproject.core 未找到 net.sf.json.xml.XMLSerializer [35154]
我使用 json-lib 将 xml 结构转换为 json 格式。我的依赖项如下所示:
在以下行:
编译器抛出愚蠢的错误:
知道为什么我会收到此错误吗?
java - java 的 json-lib 库出错
我对java的json-lib库有问题,事实证明,如果我只得到一条记录的JSON我没有添加[],但是如果我添加它们有多个记录。
这是来自 SQL 查询的代码:
如果你有不止一张记录,我会回来的一个例子
现在是一个带有单个记录的示例
如您所见,他缺少 [],并且我希望在创建 json 失败时也显示为 manerjar。
我希望当我有一张唱片时,我也会看到 []
感谢关注
json - 为什么 JSON 对象在 JSP 中打印为字符串?
在我的 Servlet 中,使用以下值创建了一个 JSONObject:
当我尝试使用在 JSP 页面上打印其值时,它会将 JSON 对象打印为 String 。它打印为
如何以 JSON 格式而不是 String 格式打印?
在 Servlet 中:
在 JSP 中:
java - 在 Java 中解析 JSON 时出错:ClassNotFoundException
我正在尝试按照本教程在 Java 中解析一些 JSON 。因为它除了导入它之外没有提到任何org.apache.commons.io.IOUtils
其他内容,我认为它用于将 a 转换InputStream
为 aString.
我有我自己的代码,所以我省略了它。这是我的代码:
然后我从我的主类调用该方法:
但是,它会引发以下错误:
任何帮助表示赞赏。
java - 使用反斜杠处理 Json 字符串
我知道这个问题之前在这个论坛上被问过好几次了。但这些都没有解决我的问题。我正在使用 Jmeter 发布内容类型为“application/json”的 json 字符串 我的 Spring mvc 应用程序很高兴使用它并将其转换为 Java 对象。但是,当我发送带有反斜杠的字符串时,一切似乎都崩溃了。这是我的 Json 输入字符串
注意:密码字段有一个反斜杠。稍后再谈。
这是我的java类。
删除了 getter/setter 以及验证注释。
问题 1:当我使用“O;\l-wslD6RQ5@M)”之类的额外斜杠手动转义密码字段值时,我的 Spring mvc Web 应用程序很高兴,但不会自动为我转义额外的反斜杠。我期待我的 spring 转换器 MappingJackson2HttpMessageConverter 读取 json 有效负载并为我做神奇的 unescape 事情,但事实并非如此。如果我手动取消转义 json json 对象中的每个字段,那将非常难看。这里有什么帮助来解决这个问题吗?
问题 2:在客户端,我尝试了几种不同的方法来查看是否有任何库自动转义 Json 对象中的字符串。给定一个像上面这样的原始 json 字符串,有没有办法转义进入 json 对象的字符串?我试过,来自apache escapeJson的StringEscapeUtils,它没有用。我也试过 json-lib。他们都无法处理字符串“O;\l-wslD6RQ5@M)”。在将 json 字符串添加到 Http Body 之前,我必须手动添加额外的反斜杠。
我想使用一个客户端库来转义 json 字符串字段,并在服务器端进行转义。我非常感谢你们阅读了一个冗长的问题。我在这个上浪费了一天。我希望你们能给我一个答案或至少一个方向。
谢谢斯里
json - 需要使用 net.sf.json JsonSerializer 将 POJO 转换为 JSON,并维护 POJO 属性排序
我将 net.sf.json API 用于所有 JSON 操作。我正在尝试使用 JSONSerializer.toJSON(POJO, JsonConfig) 将 POJO 转换为 JSON。我希望生成的 JSON 具有与 POJO 中指定的顺序相同的 POJO 属性。但我看到的是 POJO 属性按字母顺序排列的序列化结果。
我实际上想要 {"name":"John","age":50}
我试过这个黑客,
有没有更好的办法?
我不想搬到功能更好的杰克逊,因为整个项目都使用了 net.sf.json。