Processing JSON in NET JSON JSON NET LINQtoJSON
































- Slides: 32

Processing JSON in. NET JSON, JSON. NET LINQ-to-JSON and JSON to XML Soft. Uni Team Technical Trainers Software University http: //softuni. bg

Table of Contents 1. The JSON data format § Rules and Features § Usage 2. JSON. NET Overview § Installation and Usage § LINQ-to-JSON § JSON to XML and XML to JSON 2

The JSON Data Format What is JSON?

The JSON Data Format § JSON (Java. Script Object Notation) is a lightweight data format § Human and machine-readable § Based on the way to create objects in Java. Script § Independent of development platforms and languages § JSON data consists of: § Values (strings, numbers, etc. ) § Key-value pairs: { key : value } § Arrays: [value 1, value 2, …}

JSON Data Format § The JSON data format follows the rules of object creation in JS § Strings, numbers and Booleans are valid JSON: "this is string and is valid JSON" 3. 14 § Arrays are valid JSON: [5, 'string', true] § Objects are valid JSON (key-value pairs): { } "first. Name": "Vladimir", "last. Name": "Georgiev", "job. Title": "Technical Trainer", age: 25 true

Processing JSON in. NET How to Parse JSON in C# and. NET Framework?

Built-in JSON Serializers §. NET has built-in JSON serializer: § The Java. Script. Serializer class § Contained in System. Web. Extensions assembly § Java. Script. Serializer can parse from object to JSON string and vice versa: var place = new Place(…); var serializer = new Java. Script. Serializer(); var json. Place = serializer. Serialize(place); var obj. Place = serializer. Deserialize<Place>(json. Place);

Java. Script Serializer Live Demo

Java. Script. Serializer Features § The. NET Java. Script serializer is powerful: § Serialize objects to JSON and vice versa § Serialize / deserialize dictionaries correctly: var digits = new Dictionary<string, int> { { "one", 1 }, { "two", 2 }, }; var serializer = new Java. Script. Serializer(); string json = serializer. Serialize(digits); var d = serializer. Deserialize<Dictionary<string, int>>(json);

Java. Script. Serializer Features § Java. Script serializer has nice features: § Serializing objects to JSON and vice versa § Correct parsing of dictionaries: Is parsed to var digits = new Dictionary<string, int> { { "one", 1}, { "two", 2}, … }; { } "one": 1, "two": 2, …

Java. Script Serializer Features Live Demo

JSON. NET Better JSON Parsing for. NET Developers

JSON. NET § Java. Script. Serializer is good § But JSON. NET is better § JSON. NET: § Has better performance § Supports LINQ-to-JSON § Out-of-the-box support for parsing between JSON and XML § Open-source project: http: //www. newtonsoft. com

Installing JSON. NET § To install JSON. NET run in the Nu. Get Package Manager Console: $ Install-Package Newtonsoft. Json § Has two primary methods: § Serialize an object: var serialized. Place = Json. Convert. Serialize. Object(place); § Deserialize an object: var deserialized. Place = Json. Convert. Deserialize. Object<Place>(serialized. Place);

Serializing and Deserializing Objects Live Demo

JSON. NET Features

JSON. NET Features § JSON. NET can be configured to: § Indent the output JSON string § To convert JSON to anonymous types § To control the casing and properties to parse § To skip errors § JSON. NET also supports: § LINQ-to-JSON § Direct parse between XML and JSON

T E N. N O JS Configuring JSON. NET

Configuring JSON. NET § To indent the output string use Formatting. Indented: Json. Convert. Serialize. Object(place, Formatting. Indented); § Deserializing to anonymous types: var json = @"{ 'first. Name': 'Vladimir', 'last. Name': 'Georgiev', 'job. Title': 'Technical Trainer' }"; var template = new Should provide a { First. Name = string. Empty, template Last. Name = string. Empty, Occupation = string. Empty }; var person = Json. Convert. Deserialize. Anonymous. Type(json, template);

T E N. N O S J Configuring JSON. NET Live Demo

JSON. NET Object Parsing

JSON. NET Parsing of Objects § By default JSON. NET takes each property / field from the public interface of a class and parses it § This can be controlled using attributes: public class User { Parse Username to user [Json. Property("user")] public string Username { get; set; } } Skip the property [Json. Ignore] public string Password { get; set; }

JSON. NET Object Parsing Live Demo

LINQ-to-JSON Using LINQ to JSON with JSON. NET

LINQ-to-JSON § JSON. NET supports LINQ-to-JSON: var json. Obj = JObject. Parse(json); Console. Write. Line("Places in {0}: ", json. Obj["name"]); json. Obj["places"]. Select( pl => string. Format("{0}) {1} ({2})", index++, pl["name"], string. Join(", ", pl["categories"]. Select( cat => cat["name"])))). Print();

LINQ-to-JSON Live Demo

XML to JSON and JSON to XML

XML to JSON and JSON to XML § Conversions from JSON to XML are done using two methods: § XML to JSON string json. From. Xml = Json. Convert. Serialize. XNode(doc); § JSON to XML XDocument xml. From. Json = Json. Convert. Deserialize. XNode(json);

XML to JSON and JSON to XML Live Demo

Processing JSON in. NET ? s n o i t s e u Q ? ? ? https: //softuni. bg/courses/database-applications

License § This course (slides, examples, demos, videos, homework, etc. ) is licensed under the "Creative Commons Attribution. Non. Commercial-Share. Alike 4. 0 International" license § Attribution: this work may contain portions from § "Databases" course by Telerik Academy under CC-BY-NC-SA license 31

Free Trainings @ Software University § Software University Foundation – softuni. org § Software University – High-Quality Education, Profession and Job for Software Developers § softuni. bg § Software University @ Facebook § facebook. com/Software. University § Software University @ You. Tube § youtube. com/Software. University § Software University Forums – forum. softuni. bg
Parallel processing vs concurrent processing
Bottom up processing
Bottom up processing
What is primary processing of food
Laplacian filter
Gloria suarez
Interactive processing
Point processing in image processing
Point processing in image processing
Bottom up processing
Histogram processing in digital image processing
Morphological processing in digital image processing
Point processing operations
Json stands for
9gag api json
Yandex image search
Microsoft windows logos
Json linked list
Ajax async
Dom to json
Json xml alternatives
Php create json
Nlohmann json vcpkg
Uwp json
From json to html table softuni
Dwd json
Json format
"keys.json" mongodb google cloud
Embulk etl
Sap hana studio 사용법
Json associative array
"keys.json" mongodb google cloud
Jws json serialization