2016-07-22 9 views
-3

nicht analysieren. Mein JSON ist wie folgt und ich konnte dies nicht analysieren. nicht sicher, wie aus der Betrachtung Inhalt in foreach gehen ...konnte JSON in C#

Mein restSharp Code ist

var client = new RestClient("https://survey.qualtrics.com//WRAPI/ControlPanel/api.php?API_SELECT=ControlPanel&Version=2.5&Request=getPanel&User=dgfdhfgh&Token=DfghgfhghjUNUGaefghjP&Format=JSON&LibraryID=UR_5cJwNFX8lwFXFwp&PanelID=ML_b8IoBrawfm3MCd7"); 
var request = new RestRequest(Method.GET); 

client.AddHandler("application/json", new JsonDeserializer()); 

var result = client.Execute<List<RootObject>>(request); 

if (result != null && (result.StatusCode == HttpStatusCode.OK)) // It's probably not necessary to test both 
{ 

    foreach (var j in result.Content) 
    { 
     XXXXXXX; 

} 

und JSON wird wie folgt

[ 
{"RecipientID":"MLRP_1BNnjFoPFgeajfT","FirstName":"Darfghryl","LastName":"Wright","Email":"[email protected]","ExternalDataReference":null,"Unsubscribed":"0","EmbeddedData":{"Participant ID":"16941","DateTaken":"20160710","TriggerResponseID":"R_VKe0amWmZIXcuZ3","TriggerSurveyID":"SV_eA35TXE0iRlexBX","AllEmailsSchduledForSurvey2":"yes"}}, 
{"RecipientID":"MLRP_cCjJTFP6MxpZFhH","FirstName":"fghfgh","LastName":"Henzell","Email":"[email protected]","ExternalDataReference":null,"Unsubscribed":"0","EmbeddedData":{"Participant ID":"29377","DateTaken":"20160711","TriggerResponseID":"R_z14mwG7l7DBCYg1","TriggerSurveyID":"SV_eA35TXE0iRlexBX","AllEmailsSchduledForSurvey2":"yes"}}] 

und meine Klassen sind bitte

wie unten helfen
public class EmbeddedData 
{ 
    public string Participant_ID { get; set; } 
    public string DateTaken { get; set; } 
    public string TriggerResponseID { get; set; } 
    public string TriggerSurveyID { get; set; } 
    public string AllEmailsSchduledForSurvey2 { get; set; } 
    public string AllEmailsSchduledForSurvey3 { get; set; } 
} 

public class RootObject 
{ 
    public string RecipientID { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string Email { get; set; } 
    public object ExternalDataReference { get; set; } 
    public string Unsubscribed { get; set; } 
    public List<EmbeddedData> EmbeddedData { get; set; } 
} 
+0

Gemäß Ihrer Klassendefinition sollte es auch in JSON Participant_ID sein, während im Namen "Teilnehmer-ID" ein Leerzeichen steht. – Ash

+1

Bitte machen Sie sich mehr Mühe, Ihren Code in Zukunft zu formatieren, und stellen Sie [mcve] - wir Ich brauche nicht alle diese Eigenschaften, um das Problem zu finden, und ich vermute, dass Sie das Problem selbst gefunden haben, wenn Sie Ihren tatsächlichen Code/Daten auf eine [mcve] reduzieren. –

+0

Ja, das stimmt, aber bevor ich dorthin gehe, kann ich nicht auf die Daten von result.content zugreifen. Ich bin mir nicht sicher, wie ich den jSON, den ich von result.content erhalte, durchlaufen kann. Bitte helfen Sie – Bokbob

Antwort

0

Bitte versuchen Sie es

if (result != null && (result.StatusCode == HttpStatusCode.OK)) 
{ 
    // here I made changes 

    RestSharp.Deserializers.JsonDeserializer deserial = new JsonDeserializer(); 

    List<RootObject> content = deserial.Deserialize<List<RootObject>>(result); 

    foreach (var cont in content) 
    { 
     // Do your Stuff 
    } 


} 
+0

Hallo Muhammad Usman, wie dies mit RestSharp deserialise? – Bokbob

+0

@Bobbob Bitte überprüfen Sie aktualisierte Antwort –

+0

Vielen Dank Muhammad Usman. es funktioniert jetzt – Bokbob