Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        // 以序列的方式操作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;
            }
        }