【发布时间】:2016-06-13 03:34:21
【问题描述】:
我正在创建一个用于搜索食谱的 Android 应用。我正在尝试调用一个以 JSONP 形式返回成分的 API。我需要这些数据进行验证,因此用户不能输入任何无效成分。
我想从 JSONArray 中获取值并返回 searchValue。但我不知道该怎么做,因为数据的格式是 JSONP 而不是 JSON。
以下是我要检索的示例。
set_metadata('配料', [{"searchValue":"salt","description":"salt","term":"salt"},{"searchValue":"butter","description":"butter","term":"butter "},
当我试图简单地获取数组时,出现了 JSONException。为了调试,我只想返回数组的长度,看看数组中有多少成分。
JSONArray ingr = json.getJSONArray("");
System.out.println("Size of the array is: " + ingr.length());
但它不喜欢一开始的字符,它给了我这个错误。
02-29 21:47:38.568 1993-2416/com.example.laptop.whatsfordinner E/JSON Parser﹕ Error parsing data org.json.JSONException: Value set_metadata('ingredient' of type java.lang.String cannot be converted to JSONObject
那么我如何“忽略”第一部分并从 JSONArray 中获取值?
【问题讨论】: