.Net 4.0 में JavaScriptSerializer नहीं मिल सकता है


297

मैं विज़ुअल स्टूडियो 2010 के भीतर JavaScriptSerializerऑब्जेक्ट और न ही System.Web.Script.Serializationनाम स्थान ढूंढ सकता हूं । मुझे JSON में कुछ अनुक्रमित करने की आवश्यकता है जो मैं उपयोग करने वाला हूं?

और हां, मैंने पहले ही System.Web.Extensionsप्रोजेक्ट के भीतर (System.Web.Extensions.dll में) शामिल कर लिया है । जिसके कारण मैं स्तब्ध हूं?

  • मुझे पता है 3.5 में अप्रचलितSystem.Web.Extensions के रूप में चिह्नित किया गया था

5
मेरे पास एक ही समस्या है, और मुझे कहना है कि उत्तर बहुत बेकार हैं। मैं ".NET फ्रेमवर्क 4" को लक्षित कर रहा हूं, न कि ".NET 4 क्लाइंट प्रोफाइल" को। मैंने System.Web.Extensions विधानसभा को संदर्भित किया है। लेकिन जब मैं System.Web.Script.Serialization नाम स्थान का उपयोग करने का प्रयास करता हूं, तो VS 2010 मुझे बताता है कि "Namepace System.Web में" प्रकार या नाम स्थान स्क्रिप्ट मौजूद नहीं है। क्या किसी ने इसके लिए एक वास्तविक समाधान पाया है? मैं उलझन में हूं!
१।

संबंधित पोस्ट यहाँ
आरबीटी

जवाबों:


523

जांचें कि क्या आपने .net 4 संस्करण को शामिल किया है System.Web.Extensions- इसका 3.5 संस्करण भी है, लेकिन मुझे नहीं लगता कि कोई काम करता है।

ये चरण मेरे लिए काम करते हैं:

  1. एक नया कंसोल एप्लिकेशन बनाएं
  2. क्लाइंट प्रोफ़ाइल के बजाय लक्ष्य को .net 4 में बदलें
  3. System.Web.Extensions(4.0) में एक संदर्भ जोड़ें
  4. JavaScriptSerializerProgram.cs में अभी पहुंच है :-)

vb.net में "नया" और () को न भूलें: नई जावास्क्रिप्ट के रूप में Dim JsonConvert ()
zokaee

124
  1. राइट क्लिक करें Referencesऔर करें Add Reference, फिर Assemblies->Frameworkसेलेक्ट करें System.Web.Extensions
  2. अब आपको निम्नलिखित को अपनी कक्षा फ़ाइल में जोड़ने में सक्षम होना चाहिए:
    using System.Web.Script.Serialization;

परिपूर्ण मैं भी कुछ करना भूल गया था जैसे धन्यवाद
खलील लीरक्वि १०'१17 को

महान! विस्तृत विवरण
चारुलथ कृष्णमूर्ति

41

Google पर पहले खोज परिणाम से:

http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx

JavaScriptSerializer वर्ग

AJAX- सक्षम अनुप्रयोगों के लिए क्रमांकन और डीरियलाइज़ेशन कार्यक्षमता प्रदान करता है।

वंशानुक्रम पदानुक्रम

System.Object

System.Web.Script.Serialization.JavaScriptSerializer

Namespace: System.Web.Script.Serialization

विधानसभा: System.Web.Extensions (System.Web.Extensions.dll में)

इसलिए, System.Web.Extensions.dllएक संदर्भ के रूप में शामिल करें ।


3
दो साल बाद, पूरी तरह से असंबंधित परियोजना पर: यह भी मदद करता है यदि आप इसे सही ढंग से कैपिटल करते हैं>>। (यह जावास्क्रिप्टसर्विसलाइज़र नहीं है)।
नीमनेम

25

मैं विजुअल स्टूडियो 2015 का उपयोग कर रहा हूं और अंत में इस पोस्ट पर चला गया हूं।

हाँ उपयोग करने के लिए

JavaScriptSerializer json = new JavaScriptSerializer();

आपको संदर्भों पर और असेम्बली के तहत राइट क्लिक करना होगा -> फ्रेमवर्क चुनें

System.Web.Extensions

फिर अपने संदर्भ में जोड़ें

using System.Web.Script.Serialization;

15

यह है कि आपके आवेदन में JavaScriptSerializer उपलब्ध है, लक्ष्यीकरण .NET 4.0(पूर्ण)

using System.Web.Script.Serialization;

यह आपको एक नई JavaScriptSerializerवस्तु बनाने की अनुमति देनी चाहिए !


स्क्रिप्ट मौजूद नहीं है
कांसईरोबोट

12
using System.Web.Script.Serialization; 

विधानसभा में है: System.Web.Extensions (System.Web.Extensions.dll)


10

क्या आप .NET 4 फ्रेमवर्क या .NET 4 क्लाइंट प्रोफाइल को लक्षित कर रहे हैं?

यदि आप उत्तरार्द्ध को लक्षित कर रहे हैं, तो आपको वह कक्षा नहीं मिलेगी। तुम भी एक संदर्भ लापता हो सकता है, एक एक्सटेंशन dll की संभावना है।


.NET फ्रेमवर्क 4. और मेरे पास पहले से ही 'System.Web.Extensions' परियोजना में शामिल है
प्रिज़नर शून्य

क्या यह एक प्रोजेक्ट है जिसे आपने .net के पुराने संस्करण से अपग्रेड किया है?
क्रिस्टोफर Currens

मैं इस मुद्दे को एक परियोजना के साथ अपग्रेड कर रहा हूं। यह मूल .net संस्करण (3.5) का उपयोग करके हल करने के लिए प्रकट नहीं होता है, हालांकि ...
user1003221

9

उन लोगों के लिए जो ऊपर दिए गए उत्तरों का पालन करते हैं, लेकिन अभी भी समस्या है (जैसे, पोस्टर के सवाल पर पहली टिप्पणी देखें):

आप शायद कई परियोजनाओं के साथ समाधान में काम कर रहे हैं। जिस प्रोजेक्ट को आप अन्य प्रोजेक्ट्स के संदर्भ में काम करते दिखाई देते हैं, लेकिन आप वास्तव में एक फाइल को अन्य प्रोजेक्ट्स से संशोधित कर रहे हैं। उदाहरण के लिए:

  • प्रोजेक्ट ए संदर्भ System.Web.Extensions
  • प्रोजेक्ट A संदर्भ प्रोजेक्ट B

लेकिन यदि आप जिस फ़ाइल का उपयोग करने के लिए संशोधन कर रहे हैं System.Web.Script.Serializationवह प्रोजेक्ट B में है, तो आपको System.Web.Extensionप्रोजेक्ट B में एक संदर्भ भी जोड़ना होगा ।


8

क्या आपने एक संदर्भ शामिल किया System.Web.Extensions? यदि आप अपने पहले लिंक पर क्लिक करते हैं तो यह कहता है कि यह किस विधानसभा में है।


उस मामले में शायद @ क्रिस्टोफर के जवाब की जाँच करें।
डेवि

5

आपको प्रोजेक्ट का संदर्भ जोड़ना होगा।

विधानसभाओं में, एक System.Web.Extensions Add है।

एक बार जो किया जाता है:

    using System.Web;
    using System.Web.Script;
    using System.Web.Script.Serialization;

मेरे लिए वह काम कर गया।


3

जैसा कि आप जानते हैं, मैं विजुअल स्टूडियो 2013 का उपयोग कर रहा हूं और जब तक मैंने प्रोजेक्ट प्रॉपर्टीज का उपयोग 3.5 फ्रेमवर्क और 4.5 पर वापस करने के लिए नहीं किया था, तब तक यही समस्या रही है। यह किसी कारण से .dll को ठीक से पंजीकृत करता है और मैं System.Web.Extensions का उपयोग कर सकता हूं ।

यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें


3

आप एक और विकल्प का उपयोग कर सकते हैं जो कि न्यूटनसॉफ्ट.जॉन है, आप इसे न्यूगेट पैकेज मैनेजर से इंस्टॉल कर सकते हैं।

उपकरण >> Nuget पैकेज मैनेजर >> कमांड जारी करके पैकेज मैनेजर कंसोल

Install-Package Newtonsoft.Json

या

GUI का उपयोग करके उपकरण >> Nuget पैकेज मैनेजर >> समाधान के लिए NuGet पैकेज प्रबंधित करें ...

यहां छवि विवरण दर्ज करें


ध्यान दें कि यह Microsoft की प्रलेखित अनुशंसा है । .Net कोर पर, Microsoft अब JavaScriptSerializer (और न ही System.Web.Extensions के बाकी) प्रदान करता है।
ब्रायन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.