मैं JSON को C # के साथ कैसे पार्स कर सकता हूं?


455

मेरे पास निम्नलिखित कोड हैं:

var user = (Dictionary<string, object>)serializer.DeserializeObject(responsecontent);

इनपुट responsecontentJSON है, लेकिन यह किसी ऑब्जेक्ट में ठीक से पार्स नहीं है। मुझे इसे ठीक से कैसे निष्क्रिय करना चाहिए?


7
अरे आप इस लिंक को आज़माना चाह सकते हैं techblog.procurios.nl/k/n618/news/view/14605/14863/…
Vamsi

34
वहाँ Jsonहै System.Web.Helpers, वहाँ JsonQueryStringConverterहै System.ServiceModel.Web, वहाँ JavascriptSerializerमें है System.Web.Script.Serialization, DataContractJsonSerializerमें है System.Runtime.Serialization.Json, एमएस एमएस भी Json.NETअपने ASP.NET वेब एपीआई में तीसरे पक्ष को शामिल करने का फैसला किया है । यदि आपको लगता है कि पर्याप्त नहीं था, तो एमएस के साथ आ रहा है, System.Jsonलेकिन वर्तमान में खपत के लिए अयोग्य है। Microsoft जाने का रास्ता .... मैं सबसे अच्छे दिखने वाले नामस्थान द्वारा चुनता हूं।
नवफाल

4
@ फुस्सी बाकी विधानसभाओं में हैं। Google के नामस्थान / वर्ग का नाम, आप असेंबली को देखेंगे कि वे msdn प्रलेखन में हैं। बस उस विधानसभा का संदर्भ जोड़ें।
नवफाल

1
बस पूरा करने के लिए, वहाँ भी JsonValueहै Windows.Data.Jsonजो केवल विंडोज 8 और इसके बाद के संस्करण के लिए है। मैं इसे प्यार कर रहा हूँ। MS एक मिशन पर है :)
nawfal

5
NewtonSoft का अपनी साइट पर एक तुलना पृष्ठ है (शायद पक्षपाती हो सकता है लेकिन अभी भी दिलचस्प है): newtonsoft.com/json/help/html/jsonnetvsdotnetserialializers.htm । मुझे विशेष रूप से निरर्थक शब्दकोश अनुक्रम पंक्ति पसंद है :)
ओहाड श्नाइडर

जवाबों:


365

मुझे लगता है कि आप Json.NET (Newtonsoft.Json NuGet पैकेज) का उपयोग नहीं कर रहे हैं । यदि यह मामला है, तो आपको इसका प्रयास करना चाहिए।

इसकी निम्नलिखित विशेषताएं हैं:

  1. LINQ to JSON
  2. JSONSerializer अपने .NET ऑब्जेक्ट्स को JSON में जल्दी से परिवर्तित करने और फिर से वापस करने के लिए
  3. Json.NET वैकल्पिक रूप से डिबगिंग या प्रदर्शन के लिए इंडेंट किए गए JSON को अच्छी तरह से स्वरूपित, उत्पन्न कर सकता है
  4. JsonIgnore और JsonProperty जैसी विशेषताओं को एक वर्ग में जोड़ा जा सकता है कि कैसे एक वर्ग को क्रमबद्ध किया जाए
  5. XML से JSON को परिवर्तित करने की क्षमता
  6. कई प्लेटफार्मों का समर्थन करता है: .NET, सिल्वरलाइट और कॉम्पैक्ट फ्रेमवर्क

को देखो उदाहरण नीचे। इस उदाहरण में, JsonConvertJSON से किसी ऑब्जेक्ट को परिवर्तित करने के लिए क्लास का उपयोग किया जाता है। इस उद्देश्य के लिए दो स्थिर तरीके हैं। वे हैं SerializeObject(Object obj)और DeserializeObject<T>(String json):

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[] { "Small", "Medium", "Large" };

string json = JsonConvert.SerializeObject(product);
//{
//  "Name": "Apple",
//  "Expiry": "2008-12-28T00:00:00",
//  "Price": 3.99,
//  "Sizes": [
//    "Small",
//    "Medium",
//    "Large"
//  ]
//}

Product deserializedProduct = JsonConvert.DeserializeObject<Product>(json);

18
क्या मैं एक varप्रकार के वैरिएबल के प्रति उदासीन हो सकता हूं , इस मामले में मुझे अपने उद्देश्य की पूरी संरचना नहीं पता है? विशेष रूप से, मैं रैली उपयोगकर्ता कहानियों का उपभोग कर रहा हूं, और मैं उन्हें वस्तुओं में बदलना चाहता हूं।
पेड्रो डूसो

16
@VANDERWEYENJonathan - एक आधुनिक वेब ब्राउज़र में, JSON.parse (string) और JSON.stringify (ऑब्जेक्ट) दोनों ही ISO8601 स्ट्रिंग्स के रूप में तारीखों को संभालते हैं, जो कि उपरोक्त उत्तर में दर्शाया गया प्रारूप है। इससे पहले कि लोग अप्रासंगिक हों, यह तय करने से पहले आप अपने मानक को अपडेट कर सकते हैं। लोगों को आपके मानक की आवश्यकता से बहुत अधिक दिनांक की आवश्यकता होती है।
पीटर वॉन

3
@PeterWone: नहीं, तारीख नहीं, स्ट्रिंगJSON.parse('{"Expiry": "2008-12-28T00:00:00"}').Expiry लौटाता है । यह एक के माध्यम से बदल सकता है , लेकिन तारीखों के बारे में कुछ भी नहीं जानता है। आपको एक रिवाइवर में पास होना होगा जिसने प्रत्येक और प्रत्येक स्ट्रिंग मान को एक पैटर्न के खिलाफ जांचा। "2008-12-28T00:00:00"Datenew Date(str)JSON.parse
टीजे क्राउडर

3
चूँकि 3.703 सेकंड 3s और 703ms के समान है और विभाजक एक दशमलव बिंदु है जो मैंने आपको यह बताया कि यह तीन दशमलव स्थानों पर सेकंड है।
पीटर वॉन

38
क्यों हर कोई प्रासंगिक सहित के साथ इस तरह की समस्या है require, include, importया usingउनके जवाब में बयान। कि एक लाइन चोट लगी होगी?
टॉम ज़ातो -

285

जैसा कि यहां बताया गया था - JSON को C # डायनामिक ऑब्जेक्ट में बदलना?

यह Json.NET का उपयोग करके बहुत सरल है:

dynamic stuff = JsonConvert.DeserializeObject("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");

string name = stuff.Name;
string address = stuff.Address.City;

या Newtonsoft.Json.Linq का उपयोग कर:

dynamic stuff = JObject.Parse("{ 'Name': 'Jon Smith', 'Address': { 'City': 'New York', 'State': 'NY' }, 'Age': 42 }");

string name = stuff.Name;
string address = stuff.Address.City;

13
@MaxHodges, आप सही हैं। मैंने सिर्फ JSON स्ट्रिंग मानों को पार्स करने के लिए इनलाइन "मैजिक स्ट्रिंग्स" का उपयोग किया। यह नहीं चाहते थे कि दोहरे उद्धरणपत्रों से बचकर जटिल दिखें। वास्तविक कोड में हमारे पास आमतौर पर JSON तार होते हैं जो चर के रूप में कहीं से प्राप्त होते हैं या पैरामीटर के रूप में पारित किए जाते हैं।
दिमित्री पावलोव

4
.Net 4 के बिना आपके पास 'डायनामिक' कीवर्ड नहीं है। आप घोषणा के लिए और बदले में क्रमश: 'stuff.Name' और 'stuff.Address.City' तुम हो 'सामान [ "नाम"]' और 'सामान [ "पता"] [ "शहर"]' के 'वर सामान' का उपयोग कर सकते ।
Fil

1
@Fil जो आपको एक प्रकार का मान देता है object, और आप अनुक्रमणिका का उपयोग नहीं कर सकते object
एलेक्स

138

यहां थर्ड पार्टी लाइब्रेरी का उपयोग किए बिना कुछ विकल्प दिए गए हैं :

// For that you will need to add reference to System.Runtime.Serialization
var jsonReader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(@"{ ""Name"": ""Jon Smith"", ""Address"": { ""City"": ""New York"", ""State"": ""NY"" }, ""Age"": 42 }"), new System.Xml.XmlDictionaryReaderQuotas());

// For that you will need to add reference to System.Xml and System.Xml.Linq
var root = XElement.Load(jsonReader);
Console.WriteLine(root.XPathSelectElement("//Name").Value);
Console.WriteLine(root.XPathSelectElement("//Address/State").Value);

// For that you will need to add reference to System.Web.Helpers
dynamic json = System.Web.Helpers.Json.Decode(@"{ ""Name"": ""Jon Smith"", ""Address"": { ""City"": ""New York"", ""State"": ""NY"" }, ""Age"": 42 }");
Console.WriteLine(json.Name);
Console.WriteLine(json.Address.State);

System.Web.Helpers.Json के बारे में अधिक जानकारी के लिए लिंक देखें ।

अद्यतन : आजकल प्राप्त करने का सबसे आसान तरीका NuGet पैकेजWeb.Helpers का उपयोग करना है


यदि आप पहले के विंडोज़ संस्करणों के बारे में परवाह नहीं करते हैं तो आप Windows.Data.Jsonनेमस्पेस की कक्षाओं का उपयोग कर सकते हैं :

// minimum supported version: Win 8
JsonObject root = Windows.Data.Json.JsonValue.Parse(jsonString).GetObject();
Console.WriteLine(root["Name"].GetString());
Console.WriteLine(root["Address"].GetObject()["State"].GetString());

मुझे अपने ASP.NET वेब साइट (4.5) में System.Web.Helpers क्यों नहीं दिख रहा है? XElement, XPathSelectElement मेरे VisualStudio के लिए नहीं जाना जाता है। इसे कैसे शिक्षित करें?
बुद्ध

खैर, आपको संबंधित पुस्तकालयों के लिए संदर्भ जोड़ना होगा (जैसा कि ऊपर टिप्पणियों में लिखा गया है), अधिक जानकारी के लिए इस लेख को देखें । साथ ही, यह सवाल दिलचस्पी का हो सकता है।
qqbenq

2
मैंने यहाँ वर्णित Web.Helpers पद्धति का उपयोग किया था, लेकिन इस पोस्ट द्वारा हल किए गए किसी समस्या में भाग गया: stackoverflow.com/questions/7066726/…
एलेक्स

1
यह System.Runtime.Serialization.Json का उपयोग करते हुए निम्नलिखित नामस्थान का उपयोग करके WPF.By के साथ काम कर रहा है; System.Xml.XPath का उपयोग करना; System.Xml.Linq का उपयोग कर;
शाहिद नीरमुंडा


62

यदि .NET 4 आपके लिए उपलब्ध है, तो देखें: http://visitmix.com/writings/the-rise-of-json (kut.org)

यहाँ उस साइट से एक स्निपेट दिया गया है:

WebClient webClient = new WebClient();
dynamic result = JsonValue.Parse(webClient.DownloadString("https://api.foursquare.com/v2/users/self?oauth_token=XXXXXXX"));
Console.WriteLine(result.response.user.firstName);

यह अंतिम सांत्वना।


क्षमा करें, लगता है कि चीजें बदल गई हैं क्योंकि मैंने शुरू में उत्तर दिया था। मुझे चारों ओर नज़र
डालनी होगी

7
इस पुस्तकालय को खोजने के लिए आप आगे देख रहे हैं। संपादित करें: क्या यह एक है: dynamjson.codeplex.com ?
user989056

1
मुझे नहीं पता कि यहाँ एलोनू का क्या मतलब है, लेकिन Windows.Data.Json में "JsonValue" है (जो कि केवल विंडोज 8 और उससे अधिक के लिए अजीब है) और System.Json में भी वही "JsonValue" है जो अभी भी पूर्वावलोकन में है और ईश्वर ही जानता है कि क्या वह कभी बाहर आएगा। एमएस मुझे भ्रमित करता है जब यह जसन की बात आती है।
नवाफाल

35

इसका एक और मूल समाधान, जिसके लिए किसी भी 3 पार्टी लाइब्रेरी की आवश्यकता नहीं है, लेकिन System.Web.Extensions का एक संदर्भ जावास्क्रिप्ट सर्वर है। यह एक नया नहीं है, बल्कि 3.5 के बाद से एक बहुत ही अज्ञात अंतर्निर्मित विशेषताएं है।

using System.Web.Script.Serialization;

..

JavaScriptSerializer serializer = new JavaScriptSerializer();
objectString = serializer.Serialize(new MyObject());

और वापस

MyObject o = serializer.Deserialize<MyObject>(objectString)

2
यह बहुत अच्छा है, लेकिन इसके लिए वेब कॉमरेडों की जरूरत है, इसलिए दुर्भाग्य से यह .NET 4.0 क्लाइंट प्रोफाइल में काम नहीं करता है, जो विंडोज एक्सपी के लिए अंतिम .NET संस्करण है। .NET की पूर्ण स्थापना संभव है, लेकिन बहुत से लोग केवल क्लाइंट प्रोफाइल के साथ चिपके रहते हैं। इसके विपरीत, System.Runtime.Serialization.Json.DataContractJsonSerializer का ग्राहक प्रोफ़ाइल में भी समर्थन है।
अल कीप

3
@ fr34kyn01535: विंडोज एक्सपी में डेस्कटॉप पर दूसरा सबसे अधिक मार्केटशेयर है। यह प्रासंगिक है।
गधामेस्टर

जब मैंने अपनी वस्तु को हटाने के लिए JavaScriptSerializer का उपयोग किया, तो यह काम किया लेकिन इसने मेरी तिथि को गलत तरीके से हटा दिया। यह 4/19/2018 12:00 पूर्वाह्न होना चाहिए था, लेकिन 4/18/2018 08:00 PM को वांछनीय था। NewtonSoft.Json.JsonConvert ने उम्मीद के मुताबिक इसे निष्क्रिय कर दिया।
रिच


16

System.Json अब काम करता है ...

Nuget https://www.nuget.org/packages/System.Json स्थापित करें

PM> Install-Package System.Json -Version 4.5.0

नमूना :

// PM>Install-Package System.Json -Version 4.5.0

using System;
using System.Json;

namespace NetCoreTestConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Note that JSON keys are case sensitive, a is not same as A.

            // JSON Sample
            string jsonString = "{\"a\": 1,\"b\": \"string value\",\"c\":[{\"Value\": 1}, {\"Value\": 2,\"SubObject\":[{\"SubValue\":3}]}]}";

            // You can use the following line in a beautifier/JSON formatted for better view
            // {"a": 1,"b": "string value","c":[{"Value": 1}, {"Value": 2,"SubObject":[{"SubValue":3}]}]}

            /* Formatted jsonString for viewing purposes:
            {
               "a":1,
               "b":"string value",
               "c":[
                  {
                     "Value":1
                  },
                  {
                     "Value":2,
                     "SubObject":[
                        {
                           "SubValue":3
                        }
                     ]
                  }
               ]
            }
            */

            // Verify your JSON if you get any errors here
            JsonValue json = JsonValue.Parse(jsonString);

            // int test
            if (json.ContainsKey("a"))
            {
                int a = json["a"]; // type already set to int
                Console.WriteLine("json[\"a\"]" + " = " + a);
            }

            // string test
            if (json.ContainsKey("b"))
            {
                string b = json["b"];  // type already set to string
                Console.WriteLine("json[\"b\"]" + " = " + b);
            }

            // object array test
            if (json.ContainsKey("c") && json["c"].JsonType == JsonType.Array)
            {
                // foreach loop test
                foreach (JsonValue j in json["c"])
                {
                    Console.WriteLine("j[\"Value\"]" + " = " + j["Value"].ToString());
                }

                // multi level key test
                Console.WriteLine("json[\"c\"][0][\"Value\"]" + " = " + json["c"][0]["Value"].ToString());
                Console.WriteLine("json[\"c\"][0][\"Value\"]" + " = " + json["c"][1]["Value"].ToString());
                Console.WriteLine("json[\"c\"][1][\"SubObject\"][0][\"SubValue\"]" + " = " + json["c"][1]["SubObject"][0]["SubValue"].ToString());
            }

            Console.WriteLine();
            Console.Write("Press any key to exit.");
            Console.ReadKey();
        }
    }
}

1
Json.NET/Newtonsoft.Json/"Newtson.Json "और System.Json के पुराने पुनरावृत्तियों के लंबे समय से पदावनत किए जाने के अनगिनत परिणामों के बाद, आधुनिक प्रणाली का सही ढंग से उपयोग करने का एक उदाहरण खोजने की कोशिश कर रहा हूँ। इसके लिए शुक्रिया।
बंदर ०५०६

1
इससे मुझे बहुत मदद मिली। आपका बहुत बहुत धन्यवाद।
MAK

10

इस उपकरण का उपयोग अपने json के आधार पर एक वर्ग बनाने के लिए करें:

http://json2csharp.com/

और फिर वर्ग का उपयोग कर अपने जौंस को डिसेर्बलाइज करें। उदाहरण:

public class Account
{
    public string Email { get; set; }
    public bool Active { get; set; }
    public DateTime CreatedDate { get; set; }
    public IList<string> Roles { get; set; }
}


string json = @"{
  'Email': 'james@example.com',
  'Active': true,
  'CreatedDate': '2013-01-20T00:00:00Z',
  'Roles': [
    'User',
    'Admin'
  ]
}";

Account account = JsonConvert.DeserializeObject<Account>(json);

Console.WriteLine(account.Email);
// james@example.com

संदर्भ: https://forums.asp.net/t/1992996.aspx?Nested+Json+Deserialization+to+C+object+and+using+that+object https : //www.newtonsoft-json/help /html/DeserializeObject.htm


9

निम्नलिखित कोड का प्रयास करें:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create("URL");
JArray array = new JArray();
using (var twitpicResponse = (HttpWebResponse)request.GetResponse())
using (var reader = new StreamReader(twitpicResponse.GetResponseStream()))
{
    JavaScriptSerializer js = new JavaScriptSerializer();
    var objText = reader.ReadToEnd();

    JObject joResponse = JObject.Parse(objText);
    JObject result = (JObject)joResponse["result"];
    array = (JArray)result["Detail"];
    string statu = array[0]["dlrStat"].ToString();
}

धन्यवाद, मैं ["परिणाम" + चर] भाग चाहता था क्योंकि मैं यहां उपयोग किए जाने वाले चर का उपयोग करना चाहता था जो आप आसानी से GSON.NET के साथ नहीं कर सकते।
PHPGuru

क्या यह लाइन कुछ भी कर रही है ... JavaScriptSerializer js = new JavaScriptSerializer (); अग्रिम में धन्यवाद।
क्रिस कैटिगनी

9

System.Text.Json

.NET कोर 3.0 System.Text.Jsonबिल्ट-इन के साथ आता है जिसका अर्थ है कि आप JSON को बिना डिस्क्राइबलाइज / सीरियल कर सकते हैं थर्ड-पार्टी लाइब्रेरी का उपयोग ।

JSON स्ट्रिंग को अपनी कक्षा (तों) क्रमबद्ध करने के लिए:

var json = JsonSerializer.Serialize(order);

JSON को जोरदार टाइप किए गए वर्ग में शामिल करने के लिए:

var order = JsonSerializer.Deserialize<Order>(json);

तो अगर आपके पास नीचे की तरह एक वर्ग है:

public class Order
{
    public int Id { get; set; }
    public string OrderNumber { get; set; }
    public decimal Balance { get; set; }
    public DateTime Opened { get; set; }
}

var json = JsonSerializer.Serialize(order);
// creates JSON ==>
{
    "id": 123456,
    "orderNumber": "ABC-123-456",
    "balance": 9876.54,
    "opened": "2019-10-21T23:47:16.85",
};

var order = JsonSerializer.Deserialize<Order>(json);
// ==> creates the above class

ध्यान देने वाली एक बात यह है कि अपने कोड का उपयोग करते समय JSON गुणों को स्वचालित रूप से हैंडल System.Text.Json नहीं करता है (हालांकि, यह MVC / WebAPI अनुरोधों और मॉडल बाइंडर का उपयोग करते समय करता है)।camelCase

इसे हल करने के लिए आपको JsonSerializerOptionsएक पैरामीटर के रूप में पारित करने की आवश्यकता है ।

JsonSerializerOptions options = new JsonSerializerOptions
{        
    PropertyNamingPolicy = JsonNamingPolicy.CamelCase,  // set camelCase       
    WriteIndented = true                                // write pretty json
};

// pass options to serializer
var json = JsonSerializer.Serialize(order, options);
// pass options to deserializer
var order = JsonSerializer.Deserialize<Order>(json, options);

System.Text.Json .Net Framework और नेट स्टैंडर्ड एक न्यू-get पैकेज के रूप में के लिए भी उपलब्ध है System.Text.Json


1
अगर आपके पास क्लास नहीं है तो क्या होगा? क्या होगा यदि आप केवल अस्पष्ट रूप से जानते हैं कि क्या जोंस डेटा शामिल होने जा रहा है? या अगर चाबियाँ बिल्कुल मौजूद हैं?
चेरोना

@ चेरोना उपयोग JsonDocument.Parse
हेलो

5

Msdn साइट से निम्नलिखित मुझे लगता है कि आप जो खोज रहे हैं उसके लिए कुछ मूल कार्यक्षमता प्रदान करने में मदद करनी चाहिए। कृपया ध्यान दें कि यह विंडोज 8 के लिए निर्दिष्ट है। साइट से ऐसा एक उदाहरण नीचे सूचीबद्ध है।

JsonValue jsonValue = JsonValue.Parse("{\"Width\": 800, \"Height\": 600, \"Title\": \"View from 15th Floor\", \"IDs\": [116, 943, 234, 38793]}");
double width = jsonValue.GetObject().GetNamedNumber("Width");
double height = jsonValue.GetObject().GetNamedNumber("Height");
string title = jsonValue.GetObject().GetNamedString("Title");
JsonArray ids = jsonValue.GetObject().GetNamedArray("IDs");

यह Windows.Data.JSON नामस्थान का उपयोग करता है ।


6
अच्छा है, लेकिन "मिनिमम सपोर्टेड क्लाइंट: विंडोज 8"
वाटबार्बिफ

मुझे लगता है कि इसका कोई और समर्थन नहीं है और अब newtonsoft json dll icouldnt find windows.data.json
virtouso

3
@virtouso, जैसा कि वाटबाइबरीफ ने बताया कि यह वास्तव में नया है, लेकिन Microsoft से न्यूनतम समर्थन है , केवल विंडोज 8 के भीतर काम करता है
टार्गेटगॉविटी 2

4

आप निम्नलिखित सीमाओं का उपयोग कर सकते हैं

public static class JsonExtensions
{
    public static T ToObject<T>(this string jsonText)
    {
        return JsonConvert.DeserializeObject<T>(jsonText);
    }

    public static string ToJson<T>(this T obj)
    {
        return JsonConvert.SerializeObject(obj);
    } 
}

0

मुझे लगता है कि मैंने जो सबसे अच्छा उत्तर देखा है वह @MD_Sayem_Ahmed है।

आपका प्रश्न है "मैं Json को C # के साथ कैसे पार्स कर सकता हूं", लेकिन ऐसा लगता है कि आप Json को डिकोड करना चाहते हैं। यदि आप इसे डिकोड करना चाहते हैं, तो अहमद का जवाब अच्छा है।

यदि आप ASP.NET वेब एप में इसे पूरा करने की कोशिश कर रहे हैं, तो सबसे आसान तरीका डेटा ट्रांसफर ऑब्जेक्ट बनाना है जो आपके द्वारा दिए गए डेटा को रखता है:

public class MyDto{
    public string Name{get; set;}
    public string Value{get; set;}
}

आपने अपने अनुरोध में केवल आवेदन / json हैडर जोड़ा है (यदि आप Fiddler का उपयोग कर रहे हैं, उदाहरण के लिए)। आप इसके बाद ASP.NET वेब API में इसका उपयोग करेंगे:

//controller method -- assuming you want to post and return data
public MyDto Post([FromBody] MyDto myDto){
   MyDto someDto = myDto;
   /*ASP.NET automatically converts the data for you into this object 
    if you post a json object as follows:
{
    "Name": "SomeName",
      "Value": "SomeValue"
}
*/
   //do some stuff
}

इससे मुझे बहुत मदद मिली जब मैं अपने वेब एप में काम कर रहा था और अपने जीवन को आसान बना रहा था।



-1
var result = controller.ActioName(objParams);
IDictionary<string, object> data = (IDictionary<string, object>)new System.Web.Routing.RouteValueDictionary(result.Data);
Assert.AreEqual("Table already exists.", data["Message"]);

2
आप बेहतर तरीके से कोड की कुछ पंक्ति को पोस्ट करने के बजाय अपने समाधान की व्याख्या करते हैं। आप पढ़ सकते हैं कि मैं कैसे एक अच्छा जवाब लिखूं
मैसिमिलियानो क्रूस

System.Webअपने प्रोजेक्ट रेफरेंस में शामिल करना न भूलें ।
ओहद कोहेन

-3
 using (var ms = new MemoryStream(Encoding.Unicode.GetBytes(user)))
 {
    // Deserialization from JSON  
    DataContractJsonSerializer deserializer = new DataContractJsonSerializer(typeof(UserListing))
    DataContractJsonSerializer(typeof(UserListing));
    UserListing response = (UserListing)deserializer.ReadObject(ms);

 }

 public class UserListing
 {
    public List<UserList> users { get; set; }      
 }

 public class UserList
 {
    public string FirstName { get; set; }       
    public string LastName { get; set; } 
 }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.