/// <summary> /// Produce a JSONObject by combining a JSONArray of names with the values /// of this JSONArray. /// </summary> /// <param name="names"> /// A JSONArray containing a list of key strings. These will be paired with the values. /// </param> /// <returns>A JSONObject, or null if there are no names or if this JSONArray</returns> public JSONObject toJSONObject(JSONArray names) { if (names == null || names.Length() == 0 || this.Length() == 0) { return null; } JSONObject jo = new JSONObject(); for (int i=0; i <names.Length(); i++) { jo.put(names.getString(i),this.opt(i)); } return jo; }
private static ArrayList FromJson(JSONArray vett) { ArrayList ret = new ArrayList(); for (int i = 0; i < vett.Count; i++) { if (vett[i] is string) { string sval = vett.getString(i); ret.Add(sval); } else if (vett[i] is int) { int ival = vett.getInt(i); ret.Add(ival); } else if (vett[i] is JSONObject) { JSONObject oval = vett.getJSONObject(i); ret.Add(Map.FromJson(oval)); } else if (vett[i] is JSONArray) { JSONArray aval = vett.getJSONArray(i); ret.Add(Map.FromJson(aval)); } } return ret; }
/// <summary> /// Append an array of JSONObjects to current object /// </summary> /// <param name="names"></param> /// <returns></returns> public JSONArray toJSONArray(JSONArray names) { if (names == null | names.Length() == 0) return null; JSONArray ja = new JSONArray(); for (int i = 0; i < names.Length(); i++) { ja.put(this.opt(names.getString(i))); } return ja; }