Subversion Repository Public Repository

ChrisCompleteCodeTrunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
using System;
using System.Collections.Generic;
using System.Text;
using Newtonsoft.Json.Linq;

namespace Newtonsoft.Json.Tests.Documentation
{
    public class JsonNetVsWindowsDataJsonTests
    {
        public void CreatingJson()
        {
#if NETFX_CORE
            #region CreatingJSON
            // Windows.Data.Json
            // -----------------
            JsonObject jsonObject = new JsonObject
              {
                {"CPU", JsonValue.CreateStringValue("Intel")},
                {
                  "Drives", new JsonArray
                              {
                                JsonValue.CreateStringValue("DVD read/writer"),
                                JsonValue.CreateStringValue("500 gigabyte hard drive")
                              }
                }
              };
            string json1 = jsonObject.Stringify();

            // LINQ to JSON
            // ------------
            JObject jObject = new JObject
              {
                {"CPU", "Intel"},
                {
                  "Drives", new JArray
                              {
                                "DVD read/writer",
                                "500 gigabyte hard drive"
                              }
                }
              };
            string json2 = jObject.ToString();
            #endregion
#endif
        }

        public void QueryingJson()
        {
#if NETFX_CORE
            #region QueryingJSON
            string json = @"{
              'channel': {
                'title': 'James Newton-King',
                'link': 'http://james.newtonking.com',
                'description': 'James Newton-King's blog.',
                'item': [
                  {
                    'title': 'Json.NET 1.3 + New license + Now on CodePlex',
                    'description': 'Annoucing the release of Json.NET 1.3, the MIT license and the source on CodePlex',
                    'link': 'http://james.newtonking.com/projects/json-net.aspx',
                    'category': [
                      'Json.NET',
                      'CodePlex'
                    ]
                  }
                ]
              }
            }";

            // Windows.Data.Json
            // -----------------
            JsonObject jsonObject = JsonObject.Parse(json);
            string itemTitle1 = jsonObject["channel"].GetObject()["item"].GetArray()[0].GetObject()["title"].GetString();

            // LINQ to JSON
            // ------------
            JObject jObject = JObject.Parse(json);
            string itemTitle2 = (string)jObject["channel"]["item"][0]["title"];
            #endregion
#endif
        }

        public void Converting()
        {
#if NETFX_CORE
            #region Converting
            JsonObject jsonObject = new JsonObject
              {
                {"CPU", JsonValue.CreateStringValue("Intel")},
                {"Drives", new JsonArray {
                    JsonValue.CreateStringValue("DVD read/writer"),
                    JsonValue.CreateStringValue("500 gigabyte hard drive")
                  }
                }
              };

            // convert Windows.Data.Json to LINQ to JSON
            JObject o = JObject.FromObject(jsonObject);

            // convert LINQ to JSON to Windows.Data.Json
            JArray a = (JArray)o["Drives"];
            JsonArray jsonArray = a.ToObject<JsonArray>();
            #endregion
#endif
        }
    }
}

Commits for ChrisCompleteCodeTrunk/M3Workflow/Libraries/Json90r1/Source/Src/Newtonsoft.Json.Tests/Documentation/JsonNetVsWindowsDataJsonTests.cs

Diff revisions: vs.
Revision Author Commited Message
1 BBDSCHRIS picture BBDSCHRIS Wed 22 Aug, 2018 20:08:03 +0000