मैं ऑब्जेक्ट कैसे ले सकता हूं और उसे JSON स्ट्रिंग में परिवर्तित कर सकता हूं और फिर उस ऑब्जेक्ट में स्ट्रिंग से वापस कर सकता हूं, विशेष रूप से, मेरे विंडोज 8 मेट्रो एप्लिकेशन के लिए WinRT में?मैं WinRT में JSON को डी/क्रमबद्ध कैसे करूं?
17
A
उत्तर
38
इस तरह
:
using System.IO;
using System.Runtime.Serialization.Json;
using System.Text;
public static T Deserialize<T>(string json)
{
var _Bytes = Encoding.Unicode.GetBytes(json);
using (MemoryStream _Stream = new MemoryStream(_Bytes))
{
var _Serializer = new DataContractJsonSerializer(typeof(T));
return (T)_Serializer.ReadObject(_Stream);
}
}
public static string Serialize(object instance)
{
using (MemoryStream _Stream = new MemoryStream())
{
var _Serializer = new DataContractJsonSerializer(instance.GetType());
_Serializer.WriteObject(_Stream, instance);
_Stream.Position = 0;
using (StreamReader _Reader = new StreamReader(_Stream))
{ return _Reader.ReadToEnd(); }
}
}
5
पहले http://json2csharp.com/ साथ सी # वर्गों उत्पन्न तब
मेरे उपयोगकर्ता वर्ग वर्तमान में इस तरह दिखता है पार्स करने के लिए http://james.newtonking.com/pages/json-net.aspx का उपयोग करें:
public class User
{
public string id { get; set; }
public string username { get; set; }
public string full_name { get; set; }
public string profile_picture { get; set; }
public string bio { get; set; }
public string website { get; set; }
public Counts counts { get; set; }
public static User SingleFromJSON(string jsonString)
{
return JsonConvert.DeserializeObject<SingleUser>(jsonString).data;
}
public static User MultipleFromJSON(string jsonString)
{
return JsonConvert.DeserializeObject<SingleUser>(jsonString).data;
}
private class SingleUser
{
public User data { get; set; }
}
private class MultipleUsers
{
public List<User> data { get; set; }
}
}
public class Counts
{
public int media { get; set; }
public int follows { get; set; }
public int followed_by { get; set; }
}
सुपर आसान: डी
+0
यह एक और तरीका है, निश्चित रूप से। हर कोई उस तरह के बाहरी पुस्तकालयों को पसंद नहीं करता है। लेकिन json.net अच्छी तरह से सम्मानित है। (और तेज) –
संबंधित मुद्दे
- 1. मैं JSON पहुंच को कैसे प्रतिबंधित करूं?
- 2. मैं WinRT में ItemContainerStyle में बाइंडिंग कैसे करूं?
- 3. बॉयलरपाइप - मैं JSON कैसे आउटपुट करूं?
- 4. मैं JSON एक पायथन शब्दकोश को क्रमबद्ध कैसे करूं?
- 5. मैं एक JSON सरणी को जावा सूची में कैसे परिवर्तित करूं? मैं स्वेन्सन
- 6. WinRT
- 7. WinRT
- 8. WinRT
- 9. मैं जावास्क्रिप्ट में किसी फ़ंक्शन में JSON स्ट्रिंग को कैसे परिवर्तित करूं?
- 10. मैं jQuery में एक JSON स्ट्रिंग को जावास्क्रिप्ट ऑब्जेक्ट में कैसे परिवर्तित करूं?
- 11. WinRT
- 12. मैं डिस्क पर JSON डेटा कैसे संग्रहीत करूं?
- 13. WinRT
- 14. WinRT
- 15. WinRT
- 16. मैं jquery द्वारा लौटा JSON डेटा कैसे लूप करूं?
- 17. WinRT
- 18. WinRT
- 19. मैं d3.json पर पैरामीटर कैसे पोस्ट करूं?
- 20. WinRT
- 21. WinRT
- 22. WinRT
- 23. WinRT
- 24. WinRT
- 25. मैं एक सी # दो-आयामी सरणी को JSON ऑब्जेक्ट में कैसे परिवर्तित करूं?
- 26. मैं अपने JSON आउटपुट में गुणों के क्रम को कैसे नियंत्रित करूं?
- 27. WinRT
- 28. कैसे WinRT घटनाओं नेट
- 29. मैं MongoDB क्वेरी को JSON में कैसे बदलूं?
- 30. मैं JSON डेटा को कॉफीस्क्रिप्ट में कैसे डाल सकता हूं?
DataContractJsonSerializer आवश्यकता है कि कक्षाओं और सदस्यों को डेटाकंट्रैक्ट और डेटामेम्बर के साथ चिह्नित किया गया हो। Json.net नहीं करता है। पूर्व सुरक्षित है क्योंकि सभी वर्गों को अकेले उनके गुणों से पूरी तरह से पुनर्निर्मित नहीं किया जा सकता है। उत्तरार्द्ध तेज़ है क्योंकि आप हमेशा उन ऑब्जेक्ट्स को नियंत्रित नहीं करते हैं जिन्हें आप क्रमबद्ध कर रहे हैं और एक धारावाहिक मध्यवर्ती वर्ग बनाने में थोड़ा और समय लगता है। – Tristan