static void PackJson(System.IO.Stream stream, MyJson.IJsonNode node, IList<string> pubdict, IList<string> localdict, bool riseDictByKey, bool riseDictByString) { if (node is MyJson.JsonNode_ValueString) { string v = node.AsString(); if (riseDictByString && v != null && v.Length > 1 && pubdict.Contains(v) == false) { pubdict.Add(v); } PackJsonString(stream, v, pubdict, localdict, riseDictByString); } else if (node is MyJson.JsonNode_ValueNumber) { PackJsonNumber(stream, node as MyJson.JsonNode_ValueNumber); } else if (node is MyJson.JsonNode_Array) { PackJsonArray(stream, node as MyJson.JsonNode_Array, pubdict, localdict, riseDictByKey, riseDictByString); } else if (node is MyJson.JsonNode_Object) { PackJsonObject(stream, node as MyJson.JsonNode_Object, pubdict, localdict, riseDictByKey, riseDictByString); } }