我的应用根据用户的选择从API解析JSON。由于每个用户的搜索可能不同,我无法预测用户将搜索的内容,并且每次完成API调用时都会有一个已建立的解析结构等待它们。
问题是如何在我的应用程序中使用JSON解析结构来处理来自不同API调用的未定义/不可预测的JSON对象?
基本上我需要的是一种处理不可预测和未知的JSON对象的方法,就像它们已知并且我可以解析它们的密钥和它们内部的数据。
谢谢。
答案 0 :(得分:0)
您可以使用ObjectMapper将JSON转换为某些键值结构对象,如Map或HashMap:
range(3, int(math.sqrt(n) + 1, 2)
Map<String,Object> result = new ObjectMapper().readValue(jsonData, Map.class);
可以是文件,流,字节,字符串...... ....
答案 1 :(得分:0)
如果我有你的代码,我会帮助更多,但希望我的解释对你有用。我最近创建了一个应用程序,用于选择用户在服务器端输入的内容并在手机上显示。例如,你选择米饭和鱼,而另一个人选择米饭,鱼,咖啡和烤豆。这些是不同的东西,但我做了一个数组来保存东西,数组的长度取决于你选择的东西的数量。然后我构建一个json对象来解析。注意:您可以计算用户放置的项目数量和变量中的安全性,然后将该变量用作长度。
JSONObject jsonObject = new JSONObject(response);
if (jsonObject.getString(KEY_SUCCESS).equals("true")) {
JSONArray dataArray = jsonObject.getJSONArray("data");
for (int i = 0; i < dataArray.length(); i++) {
JSONObject dataobj = dataArray.getJSONObject(i);
我用“数据”保存了所有用户输入。有一点我的回答可能不符合您的描述,因为我不确定您是从用户那里获得列表输入还是长段/文章。我以为你得到一个列表,所以我给你一个使用数组的选项