Пример #1
0
 /** JsonStringへコンバート。
  */
 public void ConvertToJsonString(System.Text.StringBuilder a_stringbuilder, ConvertToJsonStringOption a_option)
 {
     this.ValueToJsonString(a_stringbuilder, a_option);
 }
Пример #2
0
        /** Convert
         */
        public static void Convert(System.Decimal a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            string t_string = a_in_value.ToString(Config.CULTURE);

            a_out_stringbuilder.Append(t_string);

            if ((a_option & ConvertToJsonStringOption.NoDecimalNumberSuffix) == 0)
            {
                a_out_stringbuilder.Append("m");
            }
        }
Пример #3
0
        /** ValueToJsonString
         */
        public void ValueToJsonString(System.Text.StringBuilder a_stringbuilder, ConvertToJsonStringOption a_option)
        {
            if (this.jsonstring != null)
            {
                a_stringbuilder.Append(this.jsonstring);
                return;
            }

            switch (this.value.valuetype)
            {
            case ValueType.AssociativeArray:
            {
                Convert_AssociativeArray_ToJsonString.Convert(this.value.GetAssociativeArray(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.IndexArray:
            {
                Convert_IndexArray_ToJsonString.Convert(this.value.GetIndexArray(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.StringData:
            {
                Convert_StringData_ToJsonString.Convert(this.value.GetStringData(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.SignedNumber:
            {
                Convert_SignedNumber_ToJsonString.Convert(this.value.GetSignedNumber(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.UnsignedNumber:
            {
                Convert_UnsignedNumber_ToJsonString.Convert(this.value.GetUnsignedNumber(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.FloatingNumber:
            {
                Convert_FloatingNumber_ToJsonString.Convert(this.value.GetFloatingNumber(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.BoolData:
            {
                Convert_BoolData_ToJsonString.Convert(this.value.GetBoolData(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.DecimalNumber:
            {
                Convert_DecimalNumber_ToJsonString.Convert(this.value.GetDecimalNumber(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.BinaryData:
            {
                Convert_BinaryData_ToJsonString.Convert(this.value.GetBinaryData(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.Null:
            {
                //NULL処理。
                a_stringbuilder.Append("null");
                return;
            } break;
            }
        }
Пример #4
0
        /** ValueToJsonString
         */
        public void ValueToJsonString(System.Text.StringBuilder a_stringbuilder, ConvertToJsonStringOption a_option)
        {
            if (this.jsonstring != null)
            {
                a_stringbuilder.Append(this.jsonstring);
                return;
            }

                        #pragma warning disable 0162
            switch (this.value.valuetype)
            {
            case ValueType.AssociativeArray:
            {
                ConvertObjectToJsonString.AssociativeArray.Convert(this.value.GetAssociativeArray(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.IndexArray:
            {
                ConvertObjectToJsonString.IndexArray.Convert(this.value.GetIndexArray(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.StringData:
            {
                ConvertObjectToJsonString.StringData.Convert(this.value.GetStringData(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.SignedNumber:
            {
                ConvertObjectToJsonString.SignedNumber.Convert(this.value.GetSignedNumber(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.UnsignedNumber:
            {
                ConvertObjectToJsonString.UnsignedNumber.Convert(this.value.GetUnsignedNumber(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.FloatingNumber:
            {
                ConvertObjectToJsonString.FloatingNumber.Convert(this.value.GetFloatingNumber(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.BoolData:
            {
                ConvertObjectToJsonString.BoolData.Convert(this.value.GetBoolData(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.DecimalNumber:
            {
                ConvertObjectToJsonString.DecimalNumber.Convert(this.value.GetDecimalNumber(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.BinaryData:
            {
                ConvertObjectToJsonString.BinaryData.Convert(this.value.GetBinaryData(), a_stringbuilder, a_option);
                return;
            } break;

            case ValueType.Null:
            {
                //NULL処理。
                a_stringbuilder.Append("null");
                return;
            } break;

            default:
            {
                                        #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                DebugTool.Assert(false);
                                        #endif

                return;
            } break;
            }
                        #pragma warning restore
        }
        /** Convert
         */
        public static void Convert(System.Decimal a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            try{
                try{
                    string t_string = a_in_value.ToString(Config.CULTURE);
                    a_out_stringbuilder.Append(t_string);

                    if ((a_option & ConvertToJsonStringOption.NoDecimalNumberSuffix) == 0)
                    {
                        a_out_stringbuilder.Append("m");
                    }
                }catch (System.Exception t_exception) {
                    Tool.DebugReThrow(t_exception);
                }

                return;
            }catch (System.Exception t_exception) {
                Tool.DebugReThrow(t_exception);
            }

            //不明。
            Tool.Assert(false);
            return;
        }
Пример #6
0
        /** Convert
         */
        public static void Convert(System.Collections.Generic.Dictionary <string, JsonItem> a_in_list, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            {
                a_out_stringbuilder.Append("{");

                {
                    if (a_in_list != null)
                    {
                        bool t_first = true;
                        foreach (System.Collections.Generic.KeyValuePair <string, JsonItem> t_pair in a_in_list)
                        {
                            if (t_first == true)
                            {
                                //一つ目。

                                if (t_pair.Value != null)
                                {
                                    t_first = false;
                                    a_out_stringbuilder.Append("\"");
                                    a_out_stringbuilder.Append(t_pair.Key);
                                    a_out_stringbuilder.Append("\":");
                                    t_pair.Value.ValueToJsonString(a_out_stringbuilder, a_option);
                                }
                                else
                                {
                                    //NULL処理。
                                    t_first = false;
                                    a_out_stringbuilder.Append("\"");
                                    a_out_stringbuilder.Append(t_pair.Key);
                                    a_out_stringbuilder.Append("\":null");
                                }
                            }
                            else
                            {
                                //二つ目以降。

                                if (t_pair.Value != null)
                                {
                                    a_out_stringbuilder.Append(",\"");
                                    a_out_stringbuilder.Append(t_pair.Key);
                                    a_out_stringbuilder.Append("\":");
                                    t_pair.Value.ValueToJsonString(a_out_stringbuilder, a_option);
                                }
                                else
                                {
                                    //NULL処理。
                                    a_out_stringbuilder.Append(",\"");
                                    a_out_stringbuilder.Append(t_pair.Key);
                                    a_out_stringbuilder.Append("\":null");
                                }
                            }
                        }
                    }
                    else
                    {
                                                #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                        DebugTool.Assert(false);
                                                #endif
                    }
                }

                a_out_stringbuilder.Append("}");
                return;
            }
        }
Пример #7
0
 /** Convert
  */
 public static void Convert(bool a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
 {
     if (a_in_value == true)
     {
         a_out_stringbuilder.Append("true");
     }
     else
     {
         a_out_stringbuilder.Append("false");
     }
 }
Пример #8
0
 /** オブジェクト => Json文字列。
  */
 public static void ObjectToJsonString <Type>(Type a_instance, System.Text.StringBuilder a_stringbuilder, ConvertToJsonItemOption a_option_tojsonitem, ConvertToJsonStringOption a_option_tojsonstring)
 {
     ObjectToJsonString_Fee(a_instance, a_stringbuilder, a_option_tojsonitem, a_option_tojsonstring);
 }
Пример #9
0
        /** Convert
         */
        public static void Convert(System.Collections.Generic.List <JsonItem> a_in_list, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            try{
                a_out_stringbuilder.Append("[");

                try{
                    if (a_in_list != null)
                    {
                        int t_count = a_in_list.Count;
                        int t_index = 0;

                        if (t_count > 0)
                        {
                            //一つ目。
                            if (a_in_list[0] != null)
                            {
                                a_in_list[0].ValueToJsonString(a_out_stringbuilder, a_option);
                            }
                            else
                            {
                                //NULL処理。
                                a_out_stringbuilder.Append("null");
                            }

                            //二つ目以降。
                            t_index++;
                            for (; t_index < t_count; t_index++)
                            {
                                a_out_stringbuilder.Append(",");
                                if (a_in_list[t_index] != null)
                                {
                                    a_in_list[t_index].ValueToJsonString(a_out_stringbuilder, a_option);
                                }
                                else
                                {
                                    //NULL処理。
                                    a_out_stringbuilder.Append("null");
                                }
                            }
                        }
                    }
                    else
                    {
                        Tool.Assert(false);
                    }
                }catch (System.Exception t_exception) {
                    Tool.DebugReThrow(t_exception);
                }

                a_out_stringbuilder.Append("]");
                return;
            }catch (System.Exception t_exception) {
                Tool.DebugReThrow(t_exception);
            }

            //不明。
            Tool.Assert(false);
            return;
        }
        /** Convert
         */
        public static void Convert(System.String a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            try{
                a_out_stringbuilder.Append("\"");

                try{
                    if (a_in_value != null)
                    {
                        for (int ii = 0; ii < a_in_value.Length; ii++)
                        {
                            StringConvert.SpecialStringToJsonItemEscapeString.Convert(a_in_value, ii, a_out_stringbuilder);
                        }
                    }
                    else
                    {
                        Tool.Assert(false);
                    }
                }catch (System.Exception t_exception) {
                    Tool.DebugReThrow(t_exception);
                }

                a_out_stringbuilder.Append("\"");
                return;
            }catch (System.Exception t_exception) {
                Tool.DebugReThrow(t_exception);
            }

            //不明。
            Tool.Assert(false);
            return;
        }
Пример #11
0
        /** Convert
         */
        public static void Convert(System.UInt64 a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            string t_string = a_in_value.ToString(Config.CULTURE);

            a_out_stringbuilder.Append(t_string);

            if ((a_option & ConvertToJsonStringOption.NoUnsignedNumberSuffix) == 0)
            {
                a_out_stringbuilder.Append("l");
            }

            return;
        }
        /** Convert
         */
        public static void Convert(System.Collections.Generic.List <byte> a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            try{
                a_out_stringbuilder.Append("<");

                try{
                    if (a_in_value != null)
                    {
                        for (int ii = 0; ii < a_in_value.Count; ii++)
                        {
                            a_out_stringbuilder.Append(string.Format("{0:X2}", a_in_value[ii]));
                        }
                    }
                    else
                    {
                        Tool.Assert(false);
                    }
                }catch (System.Exception t_exception) {
                    Tool.DebugReThrow(t_exception);
                }

                a_out_stringbuilder.Append(">");
                return;
            }catch (System.Exception t_exception) {
                Tool.DebugReThrow(t_exception);
            }

            //不明。
            Tool.Assert(false);
            return;
        }
        /** Create
         */
        public static void Convert(System.Double a_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            try{
                string t_string = string.Format(Config.CULTURE, Config.FLOATING_TO_STRING_FORMAT, a_value);
                a_out_stringbuilder.Append(t_string);

                if ((a_option & ConvertToJsonStringOption.NoFloatingNumberSuffix) == 0)
                {
                    a_out_stringbuilder.Append("f");
                }
                return;
            }catch (System.Exception t_exception) {
                Tool.DebugReThrow(t_exception);
            }

            //不明。
            Tool.Assert(false);
            return;
        }
Пример #14
0
 /** Fee。オブジェクト => Json文字列。
  */
 public static void ObjectToJsonString_Fee <Type>(Type a_instance, System.Text.StringBuilder a_stringbuilder, ConvertToJsonItemOption a_option_tojsonitem, ConvertToJsonStringOption a_option_tojsonstring)
 {
     if (a_instance != null)
     {
         JsonItem t_jsonitem = ConvertObjectToJsonItem.ConvertObjectToJsonItem.Convert(a_instance, a_instance.GetType(), a_option_tojsonitem, null, 0);
         t_jsonitem.ConvertToJsonString(a_stringbuilder, a_option_tojsonstring);
     }
 }
Пример #15
0
        /** Create
         */
        public static void Convert(System.Double a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
                        #if (DEF_BLUEBACK_JSONITEM_ASSERT)
            {
                DebugTool.Assert((System.Double.IsNaN(a_in_value) | System.Double.IsInfinity(a_in_value)) == false);
            }
                        #endif

            string t_string = string.Format(Config.CULTURE, Config.FLOATING_TO_STRING_FORMAT, a_in_value);
            a_out_stringbuilder.Append(t_string);

            if ((a_option & ConvertToJsonStringOption.NoFloatingNumberSuffix) == 0)
            {
                a_out_stringbuilder.Append("f");
            }
        }
Пример #16
0
 /** JsonItem => Json文字列。
  */
 public static void JsonItemToJsonString(JsonItem a_jsonitem, System.Text.StringBuilder a_stringbuilder, ConvertToJsonStringOption a_option)
 {
     if (a_jsonitem != null)
     {
         a_jsonitem.ConvertToJsonString(a_stringbuilder, a_option);
     }
 }
Пример #17
0
        /** Convert
         */
        public static void Convert(System.Collections.Generic.Dictionary <string, JsonItem> a_in_list, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            try{
                a_out_stringbuilder.Append("{");

                try{
                    if (a_in_list != null)
                    {
                        bool t_first = true;
                        foreach (System.Collections.Generic.KeyValuePair <string, JsonItem> t_pair in a_in_list)
                        {
                            if (t_first == true)
                            {
                                //一つ目。

                                if (t_pair.Value != null)
                                {
                                    t_first = false;
                                    a_out_stringbuilder.Append("\"");
                                    a_out_stringbuilder.Append(t_pair.Key);
                                    a_out_stringbuilder.Append("\":");
                                    t_pair.Value.ValueToJsonString(a_out_stringbuilder, a_option);
                                }
                                else
                                {
                                    //NULL処理。
                                    t_first = false;
                                    a_out_stringbuilder.Append("\"");
                                    a_out_stringbuilder.Append(t_pair.Key);
                                    a_out_stringbuilder.Append("\":null");
                                }
                            }
                            else
                            {
                                //二つ目以降。

                                if (t_pair.Value != null)
                                {
                                    a_out_stringbuilder.Append(",\"");
                                    a_out_stringbuilder.Append(t_pair.Key);
                                    a_out_stringbuilder.Append("\":");
                                    t_pair.Value.ValueToJsonString(a_out_stringbuilder, a_option);
                                }
                                else
                                {
                                    //NULL処理。
                                    a_out_stringbuilder.Append(",\"");
                                    a_out_stringbuilder.Append(t_pair.Key);
                                    a_out_stringbuilder.Append("\":null");
                                }
                            }
                        }
                    }
                    else
                    {
                        Tool.Assert(false);
                    }
                }catch (System.Exception t_exception) {
                    Tool.DebugReThrow(t_exception);
                }

                a_out_stringbuilder.Append("}");
                return;
            }catch (System.Exception t_exception) {
                Tool.DebugReThrow(t_exception);
            }

            //不明。
            Tool.Assert(false);
            return;
        }
Пример #18
0
        /** Convert
         */
        public static void Convert(System.Collections.Generic.List <JsonItem> a_in_list, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            {
                a_out_stringbuilder.Append("[");

                {
                    if (a_in_list != null)
                    {
                        int t_count = a_in_list.Count;
                        int t_index = 0;

                        if (t_count > 0)
                        {
                            //一つ目。
                            if (a_in_list[0] != null)
                            {
                                a_in_list[0].ValueToJsonString(a_out_stringbuilder, a_option);
                            }
                            else
                            {
                                //NULL処理。
                                a_out_stringbuilder.Append("null");
                            }

                            //二つ目以降。
                            t_index++;
                            for (; t_index < t_count; t_index++)
                            {
                                a_out_stringbuilder.Append(",");
                                if (a_in_list[t_index] != null)
                                {
                                    a_in_list[t_index].ValueToJsonString(a_out_stringbuilder, a_option);
                                }
                                else
                                {
                                    //NULL処理。
                                    a_out_stringbuilder.Append("null");
                                }
                            }
                        }
                    }
                    else
                    {
                                                #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                        DebugTool.Assert(false);
                                                #endif
                    }
                }

                a_out_stringbuilder.Append("]");
                return;
            }
        }
Пример #19
0
        /** Convert
         */
        public static void Convert(System.String a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            a_out_stringbuilder.Append("\"");

            {
                if (a_in_value != null)
                {
                    for (int ii = 0; ii < a_in_value.Length; ii++)
                    {
                        StringConvertTool.SpecialStringToJsonItemEscapeString.Convert(a_in_value, ii, a_out_stringbuilder);
                    }
                }
                else
                {
                                        #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                    DebugTool.Assert(false);
                                        #endif
                }
            }

            a_out_stringbuilder.Append("\"");
            return;
        }
Пример #20
0
        /** Convert
         */
        public static void Convert(System.Collections.Generic.List <byte> a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            a_out_stringbuilder.Append("<");

            {
                if (a_in_value != null)
                {
                    for (int ii = 0; ii < a_in_value.Count; ii++)
                    {
                        a_out_stringbuilder.Append(string.Format("{0:X2}", a_in_value[ii]));
                    }
                }
                else
                {
                                        #if (DEF_BLUEBACK_JSONITEM_ASSERT)
                    DebugTool.Assert(false);
                                        #endif
                }
            }

            a_out_stringbuilder.Append(">");

            return;
        }
        /** Convert
         */
        public static void Convert(bool a_in_value, System.Text.StringBuilder a_out_stringbuilder, ConvertToJsonStringOption a_option)
        {
            try{
                if (a_in_value == true)
                {
                    a_out_stringbuilder.Append("true");
                }
                else
                {
                    a_out_stringbuilder.Append("false");
                }
                return;
            }catch (System.Exception t_exception) {
                Tool.DebugReThrow(t_exception);
            }

            //不明。
            Tool.Assert(false);
            return;
        }