Entwickler-Ecke

C# - Die Sprache - Json to Object


Schnelli - Mo 22.08.11 17:13
Titel: Json to Object
Hi zusammen,

versuche gerade einen eingehenden Json-String in ein passendes Object zu deserialisieren.

Aber mein VS2010 erkennt leider nicht das DataContractAttribut und die DataMemberAttribute.

Die System.Runtime.Serialization ist eingebunden.

Fehler:
Fehler 1 Der Typ- oder Namespacename "DataContract" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)
Fehler 2 Der Typ- oder Namespacename "DataContractAttribute" konnte nicht gefunden werden. (Fehlt eine Using-Direktive oder ein Assemblyverweis?)

Kann mir jemand weiter helfen?


Kha - Mo 22.08.11 17:35

:welcome: in der EE!

Du hast sowohl die Using-Direktive als auch den Assemblyverweis auf System.Runtime.Serialization.dll hinzugefügt, wie es die Fehlermeldung sagt?


Schnelli - Mo 22.08.11 21:09

In dieser Klasse meckert das VS 2010 oben schon angegebenen Fehlermeldungen bei den Attributen [DataContract][DataMember]



C#-Quelltext
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:
using System;
using System.Configuration;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Text;



namespace GoogleViaJSON
{

    [DataContract]
    public class GoogleResult{
     
        public GoogleResult() { }
        public GoogleResult(string unescapedUrl, string url, string visibleUrl, string cacheUrl, string title, string titleNoFormatting, string content)
        {
            this.UnescapedUrl = unescapedUrl;
            this.Url = url;
            this.VisibleUrl = visibleUrl;
            this.CacheUrl = cacheUrl;
            this.Title = title;
            this.TitleNoFormatting = titleNoFormatting;
            this.Content = content;
        }


       [DataMember]
        public string UnescapedUrl { get; set; }
       
        [DataMember]
        public string Url { get; set; }

        [DataMember]
        public string VisibleUrl { get; set; }

        [DataMember]
        public String CacheUrl { get; set; }
        
        [DataMember]
        public string Title { get; set; }
        
        [DataMember]
        public string TitleNoFormatting { get; set; }
        
        [DataMember]
        public string Content { get; set; }
        
    }
    
}


Moderiert von user profile iconKha: C#-Tags hinzugefügt


Kha - Mo 22.08.11 22:22

Na dann wird es wohl die Assembly-Referenz sein, die fehlt.