java-无法解析JSON属性“ null”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-无法解析JSON属性“ null”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2063字,纯文字阅读大概需要3分钟。
内容图文
![java-无法解析JSON属性“ null”](/upload/InfoBanner/zyjiaocheng/673/c23aafa37fb64e41b9473f0cf3da5801.jpg)
尝试解析JSON“ null”属性时遇到一个麻烦,请帮助我了解真正的问题是什么.我有以下JSON:
{
"properties" : {
"null" : {
"value" : false
}
}
}
我使用http://jsonlint.com验证此JSON有效.我试图从Java解析它:
import net.sf.json.JSONObject;
import java.io.IOException;
public class Test {
public static void main(String[] args) throws IOException {
String st = "{" +
" 'properties' : {" +
" 'null' : {" +
" 'value' : false" +
" }" +
" }" +
"}";
JSONObject.fromObject(st);
}
}
但有一个例外:
Exception in thread "main" java.lang.ClassCastException: JSON keys must be strings.
at net.sf.json.JSONObject._fromJSONObject(JSONObject.java:927)
at net.sf.json.JSONObject.fromObject(JSONObject.java:155)
at net.sf.json.JSONSerializer.toJSON(JSONSerializer.java:108)
at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:238)
at net.sf.json.JSONObject._processValue(JSONObject.java:2655)
at net.sf.json.JSONObject.processValue(JSONObject.java:2721)
at net.sf.json.JSONObject.element(JSONObject.java:1786)
at net.sf.json.JSONObject._fromJSONTokener(JSONObject.java:1036)
at net.sf.json.JSONObject._fromString(JSONObject.java:1201)
at net.sf.json.JSONObject.fromObject(JSONObject.java:165)
at net.sf.json.JSONObject.fromObject(JSONObject.java:134)
我使用来自http://json-lib.sourceforge.net的json-lib-2.4-jdk15.jar进行解析.有人可以澄清一下吗?为什么这个库抛出异常,但是在线验证器说它是有效的JSON?这是库中的错误,还是我做错了什么?
解决方法:
发布的第一个JSON是有效的JSON:但是,Java中的JSON无效–仅对[required]键引号有效.从json.org开始:
A string is a sequence of zero or more Unicode characters, wrapped in double quotes, using backslash escapes….
但是,这听起来像是个错误,假设它不是由无效的JSON触发的(该库可以使用无效的JSON执行任何所需的操作)…您必须查看源(或错误报告/用户体验) )明确地说这是否确实是“错误”.我在下面添加了一些尝试的建议,这些建议可能会显示预期的行为,也可能会更详细地概述原因/问题.
考虑以下最小测试用例(使用有效的JSON):
String st = "{ \"null\": \"hello world!\" }";
这也可能会引起更多的注意,这取决于提取时第一项是“空”还是空:
String st = "[ \"null\" ]";
快乐的编码.
内容总结
以上是互联网集市为您收集整理的java-无法解析JSON属性“ null”全部内容,希望文章能够帮你解决java-无法解析JSON属性“ null”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。