public static void ClearJSONObject(TJSONObject xObject) { int i; TJSONPair mPair; //@ Unsupported property or method(C): 'Size' for (i = 0; i < xObject.Size; i++) { //@ Unsupported property or method(A): 'Get' //@ Unsupported property or method(D): 'JsonString' //@ Unsupported property or method(D): 'Value' //@ Unsupported property or method(A): 'RemovePair' mPair = xObject.RemovePair(xObject.Get(i).JsonString.Value); //@ Unsupported property or method(C): 'Free' mPair.Free; } }
// 以序列的方式操作JSON物件(支援多型) public static void SetStratumValue(TJSONObject Owner, string[] Stratum, TJSONValue Value) { int i; int index; int max; TJSONObject mObj; TJSONObject mObj1; TJSONPair mPar; if (Stratum.Length == 0) { return; } mObj = Owner; max = Stratum.GetUpperBound(0); for (i = 0; i < max; i++) { // 只作到倒數第2個 index = IndexOfName(mObj, Stratum[i]); if (index == -1) { mObj1 = new TJSONObject(); //@ Unsupported property or method(A): 'AddPair' mObj.AddPair(Stratum[i], mObj1); mObj = mObj1; // 現在的兒子是下一次的爸爸 } else { //@ Unsupported property or method(A): 'get' mPar = mObj.get(index); //@ Unsupported property or method(C): 'JsonValue' //@ Undeclared identifier(3): 'TJSONObject' if (mPar.JsonValue is TJSONObject) { //@ Unsupported property or method(C): 'JsonValue' //@ Undeclared identifier(3): 'TJSONObject' mObj = TJSONObject(mPar.JsonValue); } else { // 兒子不是TJSONObject就砍掉重建 //@ Unsupported property or method(C): 'JsonValue' //@ Unsupported property or method(D): 'Free' mPar.JsonValue.Free; mObj1 = new TJSONObject(); //@ Unsupported property or method(C): 'JsonValue' mPar.JsonValue = mObj1; mObj = mObj1; // 現在的兒子是下一次的爸爸 } } } // 做最後一個 index = IndexOfName(mObj, Stratum[max]); if (index == -1) { //@ Unsupported property or method(A): 'AddPair' mObj.AddPair(Stratum[max], Value); } else { //@ Unsupported property or method(A): 'Get' //@ Unsupported property or method(D): 'JsonValue' //@ Unsupported property or method(D): 'Free' mObj.Get(index).JsonValue.Free; //@ Unsupported property or method(A): 'Get' //@ Unsupported property or method(D): 'JsonValue' mObj.Get(index).JsonValue = Value; } }