} // End JSONAPIDocument public void JsonApiArray() { // Init for docs //var this_Db = DataStore.getDbHandle(); var ourdbname = "ournewdb"; if (Database.Exists(ourdbname, "/")) { Database.Delete(ourdbname, "/"); } // tag::tojson-array[] Database dbNew = new Database(ourdbname); // JSON String -- an Array (3 elements. including embedded arrays) var thisJSONstring = "[{'id':'1000','type':'hotel','name':'Hotel Ted','city':'Paris','country':'France','description':'Undefined description for Hotel Ted'},{'id':'1001','type':'hotel','name':'Hotel Fred','city':'London','country':'England','description':'Undefined description for Hotel Fred'}, {'id':'1002','type':'hotel','name':'Hotel Ned','city':'Balmain','country':'Australia','description':'Undefined description for Hotel Ned','features':['Cable TV','Toaster','Microwave']}]".Replace("'", "\""); // Get JSON Array from JSON String JArray myJsonObj = JArray.Parse(thisJSONstring); // Create mutable array using JSON String Array var myArray = new MutableArrayObject(); myArray.SetJSON(thisJSONstring); // <.> // Create a new documenty for each array element for (int i = 0; i < myArray.Count; i++) { var dict = myArray.GetDictionary(i); var docid = myArray[i].Dictionary.GetString("id"); var newdoc = new MutableDocument(docid, dict.ToDictionary()); // <.> dbNew.Save(newdoc); } // Get one of the created docs and iterate through one of the embedded arrays var extendedDoc = dbNew.GetDocument("1002"); var features = extendedDoc.GetArray("features"); // <.> foreach (string feature in features) { System.Console.Write(feature); // <.> //process array item as required } var featuresJSON = extendedDoc.GetArray("features").ToJSON(); // <.> // end::tojson-array[] }