2011-12-26 2 views
0

//ここにJsonのコピーがあります。結果:Json Result内の指定されたPropertyNameを逆シリアル化できません(調査Gizmo API)

// ------------------ -----前のjsonの結果---無視するpls ------------ { "result_ok":true、 "total_count": "4"、 "page":1 、 "TOTAL_PAGES":1、 "results_per_page":50、 "データ":[ { "ID": "1"、 "contact_id": ""、 "ステータス": "" 完全、 "is_test_data": "1"、 "datesubmi [質問(11)]:: "、 " [質問(11)] [質問2:] [質問12] 、question_pipe(\ ": ""、 "[URL(\": "f299f5ef90291d40543fc731bb1fd755"、 "\([変数": "0"、 "](5)[変数": "10009" } ] }

// -----------------------前のjson結果---無視してpls ---------- -

全JSONコンテキスト:

{"result_ok":true,"total_count":"4","page":1,"total_pages":1,"results_per_page":50,"data":[{"id":"1","contact_id":"","status":"Complete","is_test_data":"1","datesubmitted":"2011-12-09 02:07:33","[question(2)]":"Victor","[question(4), option(10001)]":"Oral Roberts","[question(4), option(10002)]":"","[question(4), option(10003)]":"Kansas St","[question(4), option(10004)]":"","[question(4), option(10005)]":"Notre Dame","[question(4), option(10007)]":"","[question(4), option(10008)]":"","[question(5)]":"Black pattern","[question(6), option(10012)]":"Logo1.gif","[question(6), option(10013)]":"Logo3.jpg","[question(6), option(10014)]":"","[question(6), option(10016)]":"","[question(8), question_pipe(\"Kobe Bryant\")]":"Man","[question(8), question_pipe(\"Miao li Jie\")]":"Woman","[question(8), question_pipe(\"Yao Min\")]":"Man","[question(9), question_pipe(\"Kobe Bryant\")]":"NBA","[question(9), question_pipe(\"Miao li Jie\")]":"WCBA","[question(9), question_pipe(\"Yao Min\")]":"NBA","[question(10), option(10024), question_pipe(\"Kobe Bryant\")]":"Average Height","[question(10), option(10025), question_pipe(\"Kobe Bryant\")]":"Muscle","[question(10), option(10026), question_pipe(\"Kobe Bryant\")]":"","[question(10), option(10027), question_pipe(\"Kobe Bryant\")]":"","[question(10), option(10025), question_pipe(\"Miao li Jie\")]":"Muscle","[question(10), option(10026), question_pipe(\"Miao li Jie\")]":"","[question(10), option(10024), question_pipe(\"Yao Min\")]":"","[question(10), option(10025), question_pipe(\"Yao Min\")]":"Muscle","[question(10), option(10027), question_pipe(\"Yao Min\")]":"","[question(11)]":"","[question(11), question_pipe(\"Kobe Bryant\")]":"","[question(11), question_pipe(\"Miao li Jie\")]":"","[question(11), question_pipe(\"Yao Min\")]":"","[question(13)]":"20-99","[question(15)]":"Furniture","[question(16), option(10044)]":"","[question(17)]":"","[question(18), option(10053)]":"","[question(18), option(10054)]":"","[question(18), option(10056)]":"KINWAI","[url(\"id\")]":"746788","[url(\"crc\")]":"f299f5ef90291d40543fc731bb1fd755","[variable(\"STANDARD_IP\")]":"","[variable(\"STANDARD_LONG\")]":"","[variable(\"STANDARD_LAT\")]":"","[variable(\"STANDARD_GEOCOUNTRY\")]":"","[variable(\"STANDARD_GEOCITY\")]":"","[variable(\"STANDARD_GEOREGION\")]":"","[variable(\"STANDARD_GEOPOSTAL\")]":"","[variable(\"STANDARD_RESPONSETIME\")]":"","[variable(\"STANDARD_COMMENTS\")]":"","[variable(\"STANDARD_GEODMA\")]":"0","[variable(5)]":"10009","[variable(8)]":"","[variable(8), question_pipe(\"Kobe Bryant\")]":"10017","[variable(8), question_pipe(\"Miao li Jie\")]":"10018","[variable(8), question_pipe(\"Yao Min\")]":"10017","[variable(9)]":"","[variable(9), question_pipe(\"Kobe Bryant\")]":"10019","[variable(9), question_pipe(\"Miao li Jie\")]":"10023","[variable(9), question_pipe(\"Yao Min\")]":"10019","[variable(13)]":"10031","[variable(15)]":"10042","[variable(17)]":""},{"id":"2","contact_id":"","status":"Partial","is_test_data":"1","datesubmitted":"2011-12-09 02:08:11","[question(2)]":"Jerry","[question(4), option(10001)]":"","[question(4), option(10002)]":"","[question(4), option(10003)]":"","[question(4), option(10004)]":"","[question(4), option(10005)]":"","[question(4), option(10007)]":"Harvard","[question(4), option(10008)]":"","[question(5)]":"Black pattern","[question(6), option(10012)]":"","[question(6), option(10013)]":"Logo3.jpg","[question(6), option(10014)]":"Logo4.jpg","[question(6), option(10016)]":"","[question(8), question_pipe(\"Kobe Bryant\")]":"Man","[question(8), question_pipe(\"Miao li Jie\")]":"Woman","[question(8), question_pipe(\"Yao Min\")]":"Man","[question(9), question_pipe(\"Kobe Bryant\")]":"NBA","[question(9), question_pipe(\"Miao li Jie\")]":"WCBA","[question(9), question_pipe(\"Yao Min\")]":"CBA","[question(10), option(10024), question_pipe(\"Kobe Bryant\")]":"","[question(10), option(10025), question_pipe(\"Kobe Bryant\")]":"","[question(10), option(10026), question_pipe(\"Kobe Bryant\")]":"","[question(10), option(10027), question_pipe(\"Kobe Bryant\")]":"","[question(10), option(10025), question_pipe(\"Miao li Jie\")]":"","[question(10), option(10026), question_pipe(\"Miao li Jie\")]":"","[question(10), option(10024), question_pipe(\"Yao Min\")]":"","[question(10), option(10025), question_pipe(\"Yao Min\")]":"","[question(10), option(10027), question_pipe(\"Yao Min\")]":"","[question(11)]":"","[question(11), question_pipe(\"Kobe Bryant\")]":"","[question(11), question_pipe(\"Miao li Jie\")]":"","[question(11), question_pipe(\"Yao Min\")]":"","[question(13)]":"100-499","[question(15)]":"Clothing","[question(16), option(10044)]":"","[question(17)]":"Dark","[question(18), option(10053)]":"","[question(18), option(10054)]":"","[question(18), option(10056)]":"","[url(\"id\")]":"746788","[url(\"crc\")]":"f299f5ef90291d40543fc731bb1fd755","[variable(\"STANDARD_IP\")]":"","[variable(\"STANDARD_LONG\")]":"","[variable(\"STANDARD_LAT\")]":"","[variable(\"STANDARD_GEOCOUNTRY\")]":"","[variable(\"STANDARD_GEOCITY\")]":"","[variable(\"STANDARD_GEOREGION\")]":"","[variable(\"STANDARD_GEOPOSTAL\")]":"","[variable(\"STANDARD_RESPONSETIME\")]":"","[variable(\"STANDARD_COMMENTS\")]":"","[variable(\"STANDARD_GEODMA\")]":"0","[variable(5)]":"10009","[variable(8)]":"","[variable(8), question_pipe(\"Kobe Bryant\")]":"10017","[variable(8), question_pipe(\"Miao li Jie\")]":"10018","[variable(8), question_pipe(\"Yao Min\")]":"10017","[variable(9)]":"","[variable(9), question_pipe(\"Kobe Bryant\")]":"10019","[variable(9), question_pipe(\"Miao li Jie\")]":"10023","[variable(9), question_pipe(\"Yao Min\")]":"10020","[variable(13)]":"10032","[variable(15)]":"10040","[variable(17)]":"10050"},{"id":"3","contact_id":"","status":"Complete","is_test_data":"1","datesubmitted":"2011-12-09 02:19:42","[question(2)]":"todd","[question(4), option(10001)]":"","[question(4), option(10002)]":"","[question(4), option(10003)]":"Kansas St","[question(4), option(10004)]":"West Virginia","[question(4), option(10005)]":"","[question(4), option(10007)]":"","[question(4), option(10008)]":"Connecticut","[question(5)]":"Orange pattern","[question(6), option(10012)]":"Logo1.gif","[question(6), option(10013)]":"Logo3.jpg","[question(6), option(10014)]":"","[question(6), option(10016)]":"Logo2.jpg","[question(8), question_pipe(\"Kobe Bryant\")]":"Woman","[question(8), question_pipe(\"Miao li Jie\")]":"Woman","[question(8), question_pipe(\"Yao Min\")]":"Woman","[question(9), question_pipe(\"Kobe Bryant\")]":"ACB","[question(9), question_pipe(\"Miao li Jie\")]":"EML","[question(9), question_pipe(\"Yao Min\")]":"CBA","[question(10), option(10024), question_pipe(\"Kobe Bryant\")]":"Average Height","[question(10), option(10025), question_pipe(\"Kobe Bryant\")]":"Muscle","[question(10), option(10026), question_pipe(\"Kobe Bryant\")]":"Beard","[question(10), option(10027), question_pipe(\"Kobe Bryant\")]":"WaveHairs","[question(10), option(10025), question_pipe(\"Miao li Jie\")]":"Muscle","[question(10), option(10026), question_pipe(\"Miao li Jie\")]":"Beard","[question(10), option(10024), question_pipe(\"Yao Min\")]":"Average Height","[question(10), option(10025), question_pipe(\"Yao Min\")]":"","[question(10), option(10027), question_pipe(\"Yao Min\")]":"WaveHairs","[question(11)]":"","[question(11), question_pipe(\"Kobe Bryant\")]":"ddd","[question(11), question_pipe(\"Miao li Jie\")]":"dd","[question(11), question_pipe(\"Yao Min\")]":"ddd","[question(13)]":"10-19","[question(15)]":"Furniture","[question(16), option(10044)]":"","[question(17)]":"","[question(18), option(10053)]":"QUANU","[question(18), option(10054)]":"HUARI","[question(18), option(10056)]":"","[url(\"id\")]":"746788","[url(\"crc\")]":"f299f5ef90291d40543fc731bb1fd755","[variable(\"STANDARD_IP\")]":"","[variable(\"STANDARD_LONG\")]":"","[variable(\"STANDARD_LAT\")]":"","[variable(\"STANDARD_GEOCOUNTRY\")]":"","[variable(\"STANDARD_GEOCITY\")]":"","[variable(\"STANDARD_GEOREGION\")]":"","[variable(\"STANDARD_GEOPOSTAL\")]":"","[variable(\"STANDARD_RESPONSETIME\")]":"","[variable(\"STANDARD_COMMENTS\")]":"","[variable(\"STANDARD_GEODMA\")]":"0","[variable(5)]":"10010","[variable(8)]":"","[variable(8), question_pipe(\"Kobe Bryant\")]":"10018","[variable(8), question_pipe(\"Miao li Jie\")]":"10018","[variable(8), question_pipe(\"Yao Min\")]":"10018","[variable(9)]":"","[variable(9), question_pipe(\"Kobe Bryant\")]":"10021","[variable(9), question_pipe(\"Miao li Jie\")]":"10022","[variable(9), question_pipe(\"Yao Min\")]":"10020","[variable(13)]":"10030","[variable(15)]":"10042","[variable(17)]":""},{"id":"4","contact_id":"","status":"Partial","is_test_data":"1","datesubmitted":"2011-12-09 02:21:10","[question(2)]":"suan","[question(4), option(10001)]":"Oral Roberts","[question(4), option(10002)]":"Oklahoma","[question(4), option(10003)]":"","[question(4), option(10004)]":"","[question(4), option(10005)]":"","[question(4), option(10007)]":"","[question(4), option(10008)]":"","[question(5)]":"Red pattern","[question(6), option(10012)]":"Logo1.gif","[question(6), option(10013)]":"","[question(6), option(10014)]":"","[question(6), option(10016)]":"","[question(8), question_pipe(\"Kobe Bryant\")]":"Man","[question(8), question_pipe(\"Miao li Jie\")]":"Man","[question(8), question_pipe(\"Yao Min\")]":"Man","[question(9), question_pipe(\"Kobe Bryant\")]":"NBA","[question(9), question_pipe(\"Miao li Jie\")]":"NBA","[question(9), question_pipe(\"Yao Min\")]":"NBA","[question(10), option(10024), question_pipe(\"Kobe Bryant\")]":"","[question(10), option(10025), question_pipe(\"Kobe Bryant\")]":"Muscle","[question(10), option(10026), question_pipe(\"Kobe Bryant\")]":"","[question(10), option(10027), question_pipe(\"Kobe Bryant\")]":"WaveHairs","[question(10), option(10025), question_pipe(\"Miao li Jie\")]":"Muscle","[question(10), option(10026), question_pipe(\"Miao li Jie\")]":"","[question(10), option(10024), question_pipe(\"Yao Min\")]":"","[question(10), option(10025), question_pipe(\"Yao Min\")]":"Muscle","[question(10), option(10027), question_pipe(\"Yao Min\")]":"","[question(11)]":"","[question(11), question_pipe(\"Kobe Bryant\")]":"","[question(11), question_pipe(\"Miao li Jie\")]":"","[question(11), question_pipe(\"Yao Min\")]":"china","[question(13)]":"20-99","[question(15)]":"House-hold","[question(16), option(10044)]":"TV","[question(17)]":"","[question(18), option(10053)]":"","[question(18), option(10054)]":"","[question(18), option(10056)]":"","[url(\"id\")]":"746788","[url(\"crc\")]":"f299f5ef90291d40543fc731bb1fd755","[variable(\"STANDARD_IP\")]":"","[variable(\"STANDARD_LONG\")]":"","[variable(\"STANDARD_LAT\")]":"","[variable(\"STANDARD_GEOCOUNTRY\")]":"","[variable(\"STANDARD_GEOCITY\")]":"","[variable(\"STANDARD_GEOREGION\")]":"","[variable(\"STANDARD_GEOPOSTAL\")]":"","[variable(\"STANDARD_RESPONSETIME\")]":"","[variable(\"STANDARD_COMMENTS\")]":"","[variable(\"STANDARD_GEODMA\")]":"0","[variable(5)]":"10011","[variable(8)]":"","[variable(8), question_pipe(\"Kobe Bryant\")]":"10017","[variable(8), question_pipe(\"Miao li Jie\")]":"10017","[variable(8), question_pipe(\"Yao Min\")]":"10017","[variable(9)]":"","[variable(9), question_pipe(\"Kobe Bryant\")]":"10019","[variable(9), question_pipe(\"Miao li Jie\")]":"10019","[variable(9), question_pipe(\"Yao Min\")]":"10019","[variable(13)]":"10031","[variable(15)]":"10039","[variable(17)]":""}]} 

私が試してみましたエンティティクラス:

//エンティティークラス

[JsonObject(MemberSerialization.OptIn)] 
[JsonConverter(typeof(SurveryResponseConverter))] 
public class SurveyResponse 
{ 
    /// <summary> 
    /// Reponse ID 
    /// </summary> 
    [JsonConverter(typeof(CustomConverter))] 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "id")] 
    public string id { get; set; } 

    /// <summary> 
    /// Contact id 
    /// </summary> 
    [JsonConverter(typeof(CustomConverter))] 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "contact_id")] 
    public string contact_id { get; set; } 

    /// <summary> 
    /// Reponse status 
    /// </summary> 
    [JsonConverter(typeof(CustomConverter))] 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "status")] 
    public string status { get; set; } 

    /// <summary> 
    /// Is test data? 
    /// </summary> 
    [JsonConverter(typeof(CustomConverter))] 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "is_test_data")] 
    public bool is_test_data { get; set; } 

    /// <summary> 
    /// when submitt the response? 
    /// </summary> 
    [JsonConverter(typeof(CustomConverter))] 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore, PropertyName = "date_submitted")] 
    public string date_submitted { get; set; } 

    [JsonConverter(typeof(CustomConverter))] 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] 
    public Dictionary<string, Question> Questions { get; set; } 
} 


[JsonObject(MemberSerialization.OptIn)] 
public class Option 
{ 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] 
    public string Key { get; set; } 

    [JsonProperty] 
    public string Value { get; set; } 

    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] 
    public Dictionary<string, QuestionPipe> Options { get; set; } 
} 



[JsonObject(MemberSerialization.OptIn)] 
public class Question 
{ 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] 
    public string Key { get; set; } 

    [JsonProperty] 
    public string Value { get; set; } 

    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] 
    public Dictionary<string, Option> Options { get; set; } 

    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] 
    public Dictionary<string, QuestionPipe> QuestionPipes { get; set; } 
} 



[JsonObject(MemberSerialization.OptIn)] 
public class QuestionPipe 
{ 
    [JsonProperty(NullValueHandling = NullValueHandling.Ignore)] 
    public string Key { get; set; } 

    [JsonProperty] 
    public string Value { get; set; } 

    [JsonProperty] 
    public string Answer { get; set; } 
} 

//コンバータクラス

public class SurveryResponseConverter : JsonConverter 
{ 
    public override bool CanConvert(Type objectType) 
    { 
     return objectType == typeof(SurveyResponse); 
    } 

    public override bool CanRead 
    { 
     get { return true; } 
    } 

    public override object ReadJson(JsonReader jsonReader, Type objectType, object existingValue, JsonSerializer serializer) 
    { 
     var value = (SurveyResponse)existingValue; 
     if (value == null) 
     { 
      value = new SurveyResponse(); 
      value.Questions = new Dictionary<string, Question>(); 
     } 

     //string readResult = "{\n"; 
     while (jsonReader.Read()) 
     { 
      if (jsonReader.TokenType == JsonToken.PropertyName) 
      { 
       var name = jsonReader.Value.ToString(); 

       if (name.StartsWith("[question(")) 
       { 
        jsonReader.Read();//read the value 

        Regex regexQuestion = null ;//omitted for saving context 
        Regex regexQuestionAndOption = null;//omitted for saving context 
        Regex regexQuestionAndQuestionPipe = null;//omitted for saving context 
        Regex regexQuestionAndOptionAndQuestionPipe =null;//omitted for saving context 

        bool isMatchQuestion, isMatchQuestionAndOption, isMatchQuestionAndPipe, isMatchQuestionAndOptionAndPipe; 
        isMatchQuestion = regexQuestion.IsMatch(name); 
        isMatchQuestionAndOption = regexQuestionAndOption.IsMatch(name); 
        isMatchQuestionAndPipe = regexQuestionAndQuestionPipe.IsMatch(name); 
        isMatchQuestionAndOptionAndPipe = regexQuestionAndOptionAndQuestionPipe.IsMatch(name); 

        //bool isMatchQuestionAndOption, isMatchQuestionAndPipe, isMatchQuestionAndOptionAndPipe; 
        if (isMatchQuestion) 
        { 
         //eg.[question(int)] 
         int index = int.Parse(name.Substring(10, name.IndexOf(')') - 10)); 
         string strValue = serializer.Deserialize<string>(jsonReader); 
         Question questionValue = new Question(); 
         questionValue.Key = index.ToString(); 
         questionValue.Value = strValue; 
         value.Questions[index.ToString()] = questionValue; 
        } 
        else if (isMatchQuestionAndOption) 
        { 
         //eg.[question(4), option(10001)] 
         string questionKey = name.Substring(10, name.IndexOf(')') - 10); 
         string questionOptionValue = serializer.Deserialize<string>(jsonReader); 
         string questionOptionKey = name.Substring(name.LastIndexOf('(')+1, name.LastIndexOf(')') - name.LastIndexOf('(')-1); 

         Option optionValue = new Option(); 
         optionValue.Key = questionOptionKey; 
         optionValue.Value = serializer.Deserialize<string>(jsonReader); 
        } 
        else if (isMatchQuestionAndPipe) 
        { 
         //eg.[question(10),question_pipe(" some description of question")] 
         string questionKey = name.Substring(10, name.IndexOf(')') - 10); 
         QuestionPipe questionPipe = new QuestionPipe(); 
         questionPipe.Key = "TODO"; 
         questionPipe.Value = name.Substring(name.LastIndexOf('(') + 1, name.LastIndexOf(')') - name.LastIndexOf('(') - 1); 
         questionPipe.Answer = serializer.Deserialize<string>(jsonReader); 

        } 
        else if (isMatchQuestionAndOptionAndPipe) 
        { 
         //eg.[question(10), option(10024), question_pipe(" some description of question")] 
         string questionKey = name.Substring(10, name.IndexOf(')') - 10); 

         string subName = name.Substring(name.IndexOf('(')); 
         Option optionValue = new Option(); 
         optionValue.Key = subName.Substring(1, subName.IndexOf(')') - 1); 

         QuestionPipe questionPipe = new QuestionPipe(); 
         questionPipe.Key = "TODO"; 
         questionPipe.Value = name.Substring(name.LastIndexOf('(') + 1, name.LastIndexOf(')') - name.LastIndexOf('(') - 1); 
         questionPipe.Answer = serializer.Deserialize<string>(jsonReader); 
        } 
       } 
       else if (name.StartsWith("[variable(")) 
       { 
        //TODO 
       } 
       else if (name.StartsWith("[url(")) 
       { 
        //TODO 
       } 
       else 
       { 
        var property = typeof(SurveyResponse).GetProperty(name); 
        try 
        { 

//ここで例外となります:オブジェクトを直列化復元している予期しないトークン:プロパティ名 var propertyValue = serializer.Deserialize(jsonReader、property.PropertyType); } catch(例外ex) { string errMsg = ex.Message; throw; } } } }

 return value; 
    } 

    public override bool CanWrite 
    { 
     get { return false; } 
    } 

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) 
    { 
     throw new NotImplementedException(); 
    } 

あなたは私にいくつかのアドバイスはありますか?メリークリスマス、すべての身体^ _^

答えて

0

JSONが無効であるを与えたい場合は、物事はquestion_pipe周りクレイジー取得を開始します。ここでは、オンラインバリデーターへのリンクがあります。 http://jsonlint.com/

オブジェクトがシリアル化される方法を制御する必要がある場合は、逆シリアル化を試みる前に、文字列の不正な文字をクリーンアップ/エスケープする必要があります。これが幸せな休日に役立つことを望みます!

更新

あなたの完全なJSONの例を読んだ後、私はあなたのオブジェクトがシリアライズされてきているかを確認するに興味があります。このJSONを取得するカスタムシリアライザがありますか?理由は、JSONは単なる非常に単純なオブジェクト表記です。 JSONは、多くのことがあることがわかります.JSONは、単純なキー値のペアであることを意味する辞書に逆シリアル化されています。あなたがリストアップしたJSONはそれよりはるかに複雑で、あなたの問題ではないかと思います。例えば

...することは、単純なオブジェクトを見てみましょう:

public class Person 
{ 

    public string FirstName { get; set; } 

    public string LastName { get; set; } 

    public Person Sibling { get; set; } 

} 

ことの有効なJSON表現は次のようになります。

{ 
    "FirstName": "John", 
    "LastName": "Doe", 
    "Sibling": 
    { 
     "FirstName": "Jane", 
     "LastName": "Doe", 
     "Sibling": null 
    } 
} 

非常に簡単で、表現。それぞれのプロパティ名の文字列とそれに対応する値があります。あなたのケースでは、[質問(4)、オプション(10001)]のようなプロパティ名を持っており、どの標準のシリアライザがそれをどう扱うべきか分からない。 1対1のマッチを探しているだけで、プロパティ名[質問(4)、オプション(10001)]を単独で作成する方法はありません。間違いなく無効な文字があるので、実際のプロパティ名は何でしょうか?

私はここにいくつかの明確な設計上の考慮事項があると思います。パーサーがエラーを投げている理由を説明するのに役立ちます。たぶん私はあなたが達成しようとしていることを完全に理解していないかもしれませんが、私の説明が潜在的な問題と概念的な設計上の考慮事項について少し明るいことを助けてくれることを願っています。

ハッピーホリデー!

+0

質問の文脈を保存するためにjsonを手作業で修正して申し訳ありませんが、今度はjsonの結果全体が確認後OKです。新しいjsonコンテンツを表示したいですか? –

+0

完全なjson結果コンテキストが提供されました。 –

+0

JSONシリアライザを使ってこのJSONを取得していますか?そのSurveyResponseオブジェクトまたは基本的にオブジェクトグラフを変換しますか?私はまだあなたが取得している例外のように聞こえる...プロパティ名としてデシリアライズされるものに角括弧がある理由についていくつかの質問があります。さて、私はこれを私のiPadで見ているので、何かが足りないかもしれない – jerrylroberts

関連する問題