Exemplo n.º 1
0
        public void JTokenToStringPressedTest()
        {
            JNumber n    = new JNumber(7.3);
            JNumber n2   = new JNumber(42);
            JNumber n3   = new JNumber(3.14);
            JString s    = new JString("example");
            JBool   b    = new JBool(true);
            JNull   nu   = new JNull();
            JArray  aa   = new JArray();
            JToken  root = new JToken();
            JToken  t    = new JToken();
            JToken  tt   = new JToken();
            JRoot   r    = new JRoot();

            r["mnau"]           = root;
            root["dalsi cislo"] = n;
            root["token"]       = t;
            t["inside"]         = aa;
            t["string"]         = s;
            aa.Add(n2);
            aa.Add(b);
            aa.Add(tt);
            tt["cislo"] = n3;
            tt["nil"]   = (nu);

            try { aa.Add(nu); }
            catch (JsonDuplicatedException e) { Console.WriteLine("zkusili jsme pridat podruhe"); }

            Console.WriteLine(root.ToStringPressed());
            Console.WriteLine(root.ToString());
            Console.WriteLine(r.ToStringPressed());
            Console.WriteLine(r.ToString());
        }
Exemplo n.º 2
0
        public void JArrayToStringTest()
        {
            JArray  a    = new JArray();
            JNumber n    = new JNumber(42);
            JNumber n2   = new JNumber(7.3);
            JString s    = new JString("pokus");
            JString s2   = new JString("pokus2");
            JBool   b    = new JBool(true);
            JBool   b2   = new JBool(false);
            JNull   nu   = new JNull();
            JNull   nu2  = new JNull();
            JNull   nu3  = new JNull();
            JToken  t    = new JToken();
            JRoot   root = new JRoot();

            root["pole"] = a;
            a.Add(n);
            a.Add(s);
            a.Add(b);
            a.Add(nu);
            a.Add(t);
            t["string"] = s2;
            t["nill"]   = nu2;
            t["cislo"]  = n2;
            Console.WriteLine(a.ToString());
            JArray aa = new JArray();

            a.Add(aa);
            aa.Add(nu3);
            aa.Add(b2);
            Console.WriteLine(a.ToString());
        }
Exemplo n.º 3
0
        public void CreateJSONTest()
        {
            JRoot         root            = new JRoot();
            JKeyValuePair mathTest        = new JKeyValuePair(new JString("Math Test"), null, root);
            JArray        testResultArray = new JArray(mathTest);

            testResultArray.Add(
                CreateNewStudentTestResult(testResultArray, ("Ivan"), ("Ivanov")),
                CreateNewStudentTestResult(testResultArray, ("Pyotr"), ("Petrov")),
                CreateNewStudentTestResult(testResultArray, ("Vasily"), ("Vasilyev")),
                CreateNewStudentTestResult(testResultArray, ("Maria"), ("Marieva")),
                CreateNewStudentTestResult(testResultArray, ("Pavel"), ("Pavlov")),
                CreateNewStudentTestResult(testResultArray, ("Roman"), ("Romanov")),
                CreateNewStudentTestResult(testResultArray, ("Boris"), ("Borisov")),
                CreateNewStudentTestResult(testResultArray, ("Ulya"), ("Ulyeva")),
                CreateNewStudentTestResult(testResultArray, ("Danil"), ("Danilov")),
                CreateNewStudentTestResult(testResultArray, ("Nikolay"), ("Nikolaev")),
                CreateNewStudentTestResult(testResultArray, ("Bela"), ("Belova")),
                CreateNewStudentTestResult(testResultArray, ("Grigory"), ("Gregoriev"))
                );

            mathTest.Value = testResultArray;

            root.Add(mathTest);
            bool saved = root.ToFile("MathTest.json");

            if (File.Exists("MathTest.json"))
            {
                Process.Start("notepad.exe", "MathTest.json");
            }
            Assert.IsTrue(File.Exists("MathTest.json"));
        }
Exemplo n.º 4
0
 internal static JArray GetJRoot(string key)
 {
     try
     {
         if (JRoot.ContainsKey(key))
         {
             return((JArray)JRoot[key]);
         }
         return(new JArray());
     }
     catch (Exception e)
     {
         Utils.Log.Error(e);
         return(new JArray());
     }
 }
Exemplo n.º 5
0
        public DataType GetObject(string Token, TokenParameters TokenParams, out object Obj)
        {
            string[] FullName = Token.Split('.');
            Obj = Data;

            if (FullName.Length == 1 & FullName[0].StartsWith("$"))
            {
                return(GetSpecialObject(FullName[0], out Obj));
            }

            for (int i = 0; i < FullName.Length; i++)
            {
                if (FullName[i].StartsWith("$"))
                {
                    WordTable CurTable   = WordTableContext.GetCurrent();
                    string    TableToken = string.Join(".", FullName.Take(i).ToArray());

                    WordTable.Column Col = CurTable.GetCurrentColumn();
                    Col.Identifier = FullName[i].Substring(1);
                    //Col.RefArrayToken = TableToken;


                    DataType TableTokenDataType = GetObject(TableToken, TokenParams, out object _Obj);
                    if (_Obj is JArray TableObj)
                    {
                        JToken ColumnDefinition = TableObj[0][Col.Identifier];

                        Col.RefArray = TableObj;
                        Col.Text     = ColumnDefinition["text"].Value <string>();
                        Col.Style    = ColumnDefinition["style"].Value <string>();
                    }
                    else
                    {
                        throw new Exception(string.Format("Expected array, got '{0}' for token '{1}'", TableTokenDataType, TableToken));
                    }

                    Obj = Col.Text;
                    return(DataType.String);
                }

                if (Obj is JObject JRoot)
                {
                    JToken JToken = JRoot.GetValue(FullName[i]);

                    if (JToken == null)
                    {
                        Obj = null;
                    }
                    else if (JToken is JValue JValue)
                    {
                        Obj = JValue.Value;
                    }
                    else if (JToken is JObject)
                    {
                        Obj = JToken.Value <JObject>();
                    }
                    else if (JToken is JArray)
                    {
                        Obj = JToken.Value <JArray>();
                    }
                    else
                    {
                        throw new NotImplementedException();
                    }
                }
                else
                {
                    string Cur = string.Join(".", FullName.Take(i).ToArray());
                    throw new Exception(string.Format("Could not find value for token '{0}', got '{1}' of value '{2}'", Token, Cur, Obj));
                }
            }

            if (Obj == null)
            {
                if (TokenParams != null && TokenParams.Defined("null"))
                {
                    Obj = TokenParams.Get <string>("null");
                    return(DataType.String);
                }

                return(DataType.None);
            }
            else if (Obj is JObject JObject)
            {
                if (JObject.TryGetValue("__type", out JToken TypeToken) && JObject.TryGetValue("__data", out JToken DataToken))
                {
                    Obj = new EmbeddedData(TypeToken, DataToken);
                    return(DataType.EmbeddedData);
                }

                return(DataType.Object);
            }
            else if (Obj is JArray)
            {
                return(DataType.Array);
            }
            else if (Obj is string RootStr)
            {
                // TODO: Fix eventually
                Obj = RootStr.Trim().Replace("\r", "").Replace("\n", " ").Replace("\t", " ");

                /*if (RootStr.Contains("\n"))
                 *      Debugger.Break();*/

                return(DataType.String);
            }
            else
            {
                throw new NotImplementedException();
            }
        }