Я использую этот метод для разбора строки JSON, но он слишком медленный ... есть ли лучший способ сделать это? ThanksУскоренный способ разбора строки JSON в android
synchronized private void parseCategories(String response){
try{
JSONArray categoriesJSONArray = new JSONArray (response);
// looping through All Contacts
for(int i = 0; i < categoriesJSONArray.length(); i++){
JSONObject currentCategory = categoriesJSONArray.getJSONObject(i);
String label="";
String categoryId="";
// Storing each json item in variable
if(currentCategory.has("label"))
label = currentCategory.getString("label");
if(currentCategory.has("id"))
categoryId = currentCategory.getString("id");
if(
label!=null &&
categoryId!=null
)
{
Category toAdd = new Category(categoryId, label);
categories.add(toAdd);
}
}
//Alphabetic order
Collections.sort(
categories,
new Comparator<Feed>() {
public int compare(Feed lhs, Feed rhs) {
return lhs.getTitle().compareTo(rhs.getTitle());
}
}
);
Intent intent = new Intent("CategoriesLoaded");
LocalBroadcastManager.getInstance(mAppContext).sendBroadcast(intent);
}catch (JSONException e) {
e.printStackTrace();
}
}
Вы пробовали использовать GSON? Я не уверен, что это быстрее, но это гораздо удобнее. – hoomi
Вы устанавливаете label = "" и categoryId = "", так что они не могут быть пустыми. Значит, вы не добавляете много категорий с "" как меткой и идентификатором? – MTilsted
Ни один ответ не самый быстрый. – mmlooloo