示例#1
0
  private boolean isEqualsJsonArray(JSONArray a, JSONArray b) {
    if (policy == STRICT) {
      if (a.length() != b.length()) {
        return false;
      }
    }

    if (policy == SIMPLE) {
      if (a.length() > b.length()) {
        return false;
      }
    }

    boolean[] am = new boolean[a.length()];
    boolean[] bm = new boolean[b.length()];

    for (int i = 0; i < a.length(); ++i)
      if (am[i] == false) {
        for (int j = 0; j < b.length(); ++j)
          if (bm[j] == false) {
            try {
              if (isEquals(a.get(i), b.get(j))) {
                am[i] = true;
                bm[j] = true;
                break;
              }
            } catch (JSONException e) {
              e.printStackTrace();
            }
          }
      }

    for (int i = 0; i < am.length; ++i)
      if (!am[i]) {
        return false;
      }

    if (policy == STRICT) {
      for (int j = 0; j < bm.length; ++j)
        if (!bm[j]) {
          return false;
        }
    }

    return true;
  }