Java 无法解析JSON数据
我正在做一个android项目。我需要从服务器检索此JSON数据解析的帮助:Java 无法解析JSON数据,java,android,json,Java,Android,Json,我正在做一个android项目。我需要从服务器检索此JSON数据解析的帮助: {"item_name":["Navnita","Navnita","Navnita"],"username":["James","John","Jenny"],"review":["Its a relly nice restaurant for Vegetarians! :)","Cool!","Food is just great!"]} 我只想用“username”和他的“review”填充RecyclerVi
{"item_name":["Navnita","Navnita","Navnita"],"username":["James","John","Jenny"],"review":["Its a relly nice restaurant for Vegetarians! :)","Cool!","Food is just great!"]}
我只想用“username”
和他的“review”
填充RecyclerView。
现在,我正在使用以下代码解析JSON数据并填充arrayList,arrayList反过来填充RecyclerView,但它给了我错误(下面的logcat):
直接将其写入for循环
String username=usernameJsonArray.getString(i);
您的内部数据不是
JsonObject
它只是字符串直接将其写入for循环
String username=usernameJsonArray.getString(i);
您的内部数据不是
JsonObject
它只是字符串您可以使用以下代码来检索数据
JSONObject jObject = new JSONObject(result);
JSONArray usernameJsonArray = jObject.getJSONArray("username");
JSONArray reviewJsonArray = jObject.getJSONArray("review");
for(int i=0;i<usernameJsonArray.length();i++)
{
String username = usernameJsonArray.getString(i);
String review = reviewJsonArray.getString(i);
getReviewFeedItemsArrayList.add(new GetReviewFeedItems(username,review));
}
JSONObject jObject=新的JSONObject(结果);
JSONArray usernameJsonArray=jObject.getJSONArray(“用户名”);
JSONArray reviewJsonArray=jObject.getJSONArray(“review”);
对于(inti=0;i您可以使用以下代码来检索数据
JSONObject jObject = new JSONObject(result);
JSONArray usernameJsonArray = jObject.getJSONArray("username");
JSONArray reviewJsonArray = jObject.getJSONArray("review");
for(int i=0;i<usernameJsonArray.length();i++)
{
String username = usernameJsonArray.getString(i);
String review = reviewJsonArray.getString(i);
getReviewFeedItemsArrayList.add(new GetReviewFeedItems(username,review));
}
JSONObject jObject=新的JSONObject(结果);
JSONArray usernameJsonArray=jObject.getJSONArray(“用户名”);
JSONArray reviewJsonArray=jObject.getJSONArray(“review”);
对于(inti=0;i,我认为您从http响应中得到的JSON格式的回声输出会带来额外的html垃圾
在将http响应转换为字符串后添加此代码。此代码将删除额外的html垃圾并输出json格式
jsonData = jsonData.substring(jsonData.indexOf("{\""), jsonData.lastIndexOf("\"}") + 2);
这里的“jsonData”是http响应中的字符串格式。
在此之后,请按照JSON解析的常规步骤进行操作。我认为,您从http响应中获得的JSON格式输出会带来额外的html垃圾
在将http响应转换为字符串后添加此代码。此代码将删除额外的html垃圾并输出json格式
jsonData = jsonData.substring(jsonData.indexOf("{\""), jsonData.lastIndexOf("\"}") + 2);
这里的“jsonData”是http响应中的字符串格式。
之后,按照JSON解析的常规步骤进行操作。我将使用GSON。首先将JSON转换为POJO类。然后使用GSON解析JSON数据:
Gson gson = new Gson();
PojoClass obj = gson.fromJson(jsonString, PojoClas.class);
我会使用GSON。首先将JSON转换为POJO类。然后使用GSON解析JSON数据:
Gson gson = new Gson();
PojoClass obj = gson.fromJson(jsonString, PojoClas.class);
您是否控制来自服务器的数据?对JSON进行类似于{[“item”:“Nanvita”,“username”:“James”,“review”:“Best ever!”],[…],[…]的重组可能会有所帮助
。对于您的问题:看起来像@Ravi得到了它!您控制了来自服务器的数据吗?将JSON重组为类似{[“项”:“Nanvita”,“用户名”:“James”,“review”:“Best ever!”],[…],[…],[…]}
。对于您的问题:看起来像@Ravi得到了它!