问题标签 [org.json]
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 - 避免在 Java 中使用相同的 try catch 块
我正在开发一个项目,该项目涉及使用JSON API在 Java 中进行 JSON 操作。有很多地方我需要从 JSON 文件中读取值。API 提供了相同的检查异常。每次我使用 API 读取 JSON 值时,我都被迫编写 try catch 块。结果,有大量的try catch块。它使代码看起来很混乱。
有什么方法可以避免这种情况吗?单个 try catch 块是不够的,并且语句不依赖。每个读取语句都需要一个单独的 try catch 块,因为我必须在捕获异常时记录位置的详细信息。每当我有读取 JSON 数据的代码时,我是否可以调用一个通用方法,例如将代码作为参数发送给一个负责异常处理或其他方式的方法?
java - 如何在解析 JSON 字符串时限制内存使用?
java.lang.OutOfMemoryError
打电话时如何排除
我正在使用 JSON 解析器的 org.json 实现。
我不是在寻找一种方法来解码坏的 JSON 字符串。我只想对内存使用量(可能还有 CPU 使用量)设置一个上限,并且可能会得到一个我可以从中恢复的异常。
或者,是否可以肯定地说,解析时的内存使用量与输入字符串长度相比永远不会超过某个比例?然后我可以限制它。
或者是否有提供该功能的替代库?
java - 比较两个 JSONObject
我在比较两个JSONObjects
. 我目前的比较方法如下:
但是,这很慢。我似乎找不到任何其他方法来正确比较两个 JSONObjects。o1.hashCode()
并且o2.hashCode()
可以不同,而字符串是相同的。遍历每个元素并单独比较它们似乎也非常缓慢。
有什么方法可以更快地比较两个 JSONObjects?
这个问题专门关于http://json.org/提供的 org.json 的使用。我真的想避免使用任何其他库,例如比较 Java 中的两个 JSON 对象中提到的库,因为该库对应用程序的某些部分至关重要。
java - 将 POJO 解析为 JSON 对象
我必须将 POJO 转换为 JSON 对象,但我遇到了问题。我的 POJO 有四个变量及其 getter 和 setter。
private String RouteCoord;
private String RouteName;
private String freqArray;
private Double AvgTime;
我已经声明了一个对象列表
我运行一个 for 循环,在其中创建 POJO 类的实例并将它们添加到已声明的列表 (listOfKPIsObjects)
然后是另一个 for 循环来制作嵌套的 JSON 对象
我返回已处理的Json。问题是结果缺少 POJO 类的变量 (String freqArray) 之一。
{"journey_1":{"avgTime":12.283334,"routeCoord":"435,345-789,1011","routeName":"tty-keskustori"},"journey_2":{"avgTime":12.283334,"routeCoord": "123,456-789,1011","routeName":"hervanta-tty"},"journey_3":{"avgTime":12.283334,"routeCoord":"123,456-789,1011","routeName":"kaleva-keskustori "}}
我尝试将类的变量作为字符串传递,它可以工作,它还表明字符串freqArray不为空。
这样做会消除从 POJO 映射到 JSON 对象的想法,反之亦然,并且不方便。
任何想法我在这里可能做错了什么。我正在使用 org.json。
java - 通过 org.json 到 ArrayList 的字符串
我有这个字符串
"["a,rt", "der", "a_rt5%"]"
,想把它转换成ArrayList<String>
. 有没有办法通过 org.json 做到这一点,如果没有,以任何其他方式?
java - Json 字符串无法解析或 JSONObject 无效
在发布之前,我已经在 StackOverflow 上搜索并尝试了所有示例。似乎没有任何效果,所以希望有人可以对正在发生的事情有所了解。
我有一个从 UTF-8 格式的 WCF 服务返回的 json。当数据返回时,我对数据进行按摩以删除 '\n' (由 BufferedReader 附加到 StringBuilder 引起)和反斜杠(如果它们存在并留下此字符串):
我已经尝试了所有主要的 json 解析器来让它工作:gson、json-simple、json-lib、minimal-json。所有结果都相同“无法转换为 JSONObject”或“不是有效数组”或“无效值”等。
一个确切的 org.json 异常:
即使异常是 typeMismatch 我检查以确保字段名称及其各自的数据类型相同。
但是,在所有这些情况下,如果我复制字符串并将其放入字符串变量 String json = "{\"BattleList\":[{\"LiveID\":1,\"BattleID\":1,\ "OvxyzID\":1234,\"ChallengerID\":1,\"OpponentID\":2,\"ChallengerName\":\"Tank1\",\"OpponentName\":\"Tank2\",\"TimeChallenged \":\"12-6-2015\",\"IsActive\":1,\"TimeEnded\":\"0001-01-01T00:00:00\"}]}"
org.json 能够从变量中创建一个有效的对象,但是将它与我的“结果”变量相匹配。它是相同的。
我已经在线访问了 json 验证器并使用了我的 Notepad++ json 插件,并且我的返回结果是有效的。
使用 Gson,我创建了一个自定义反序列化器,我发现有趣的是我的返回结果 JsonElement 只获取'{'并引发异常。当我使用 String 变量时,JsonElement 会获取整个字符串。
以下是我尝试反序列化的不同方法。如果信息太多且不需要,我深表歉意。
我的 BattleList 课程:
}
我的战斗课:
我不确定这里还包括什么,如果需要更多,我会修改问题。
基本上,我做错了什么?应该很简单,但它让我被屏蔽了一个多星期。
谢谢。
android - Android XML 到 JSON 错误 org.json 错误:java.lang.NoSuchMethodError: org.json.XMLTokener.end
我在Android development
转换XML to JSON
其中包括时遇到此错误CDATA tag
。它在正常情况下工作正常Java
。
我用过Library
。
org.json
.
我得到了这种类型的Error
.
XML 有两种类型tags
,如下所示:
java - jsonArray.length() 没有给出正确的数组元素数量
我正在使用 org.json 解析器。我正在使用 json 数组jsonObject.getJSONArray(key)
。问题是jsonArray.length()
返回我1
,我的 json 数组有 2 个元素,我做错了什么?
这是我的json: