问题标签 [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.

0 投票
1 回答
772 浏览

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 ?

0 投票
2 回答
67 浏览

java - 如何使用 json-lib 制作像这样的 json 格式?

我使用以下代码打印 json 字符串:

我把itemstotalPage放到了map,而在items中,还有其他map在一个ArrayList..

现在结果看起来像:它是根上的数组

但我希望结果格式是这样的:

我能怎么做??

0 投票
0 回答
695 浏览

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 :-(

0 投票
1 回答
1097 浏览

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 文档在子元素上确实满足上述两个条件。

0 投票
1 回答
2002 浏览

java - 原因:java.lang.ClassNotFoundException:com.myproject.core 未找到 net.sf.json.xml.XMLSerializer [35154]

我使用 json-lib 将 xml 结构转换为 json 格式。我的依赖项如下所示:

在以下行:

编译器抛出愚蠢的错误:

知道为什么我会收到此错误吗?

0 投票
1 回答
74 浏览

java - java 的 json-lib 库出错

我对java的json-lib库有问题,事实证明,如果我只得到一条记录的JSON我没有添加[],但是如果我添加它们有多个记录。

这是来自 SQL 查询的代码:

如果你有不止一张记录,我会回来的一个例子

现在是一个带有单个记录的示例

如您所见,他缺少 [],并且我希望在创建 json 失败时也显示为 manerjar。

我希望当我有一张唱片时,我也会看到 []

感谢关注

0 投票
1 回答
4161 浏览

json - 为什么 JSON 对象在 JSP 中打印为字符串?

在我的 Servlet 中,使用以下值创建了一个 JSONObject:

当我尝试使用在 JSP 页面上打印其值时,它会将 JSON 对象打印为 String 。它打印为

如何以 JSON 格式而不是 String 格式打印?

在 Servlet 中:

在 JSP 中:

0 投票
2 回答
1284 浏览

java - 在 Java 中解析 JSON 时出错:ClassNotFoundException

我正在尝试按照本教程在 Java 中解析一些 JSON 。因为它除了导入它之外没有提到任何org.apache.commons.io.IOUtils其他内容,我认为它用于将 a 转换InputStream为 aString.我有我自己的代码,所以我省略了它。这是我的代码:

然后我从我的主类调用该方法:

但是,它会引发以下错误:

任何帮助表示赞赏。

0 投票
0 回答
3478 浏览

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 字符串字段,并在服务器端进行转义。我非常感谢你们阅读了一个冗长的问题。我在这个上浪费了一天。我希望你们能给我一个答案或至少一个方向。

谢谢斯里

0 投票
1 回答
1346 浏览

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。