2017-02-06 21 views
0

現在、アイテムを配列に追加しようとしています。しかし、私は配列にアイテムを追加/追加するためのC#JsonConvert.DeserializeObject

list.Add("whatever"); 

リストとして以下のものを受信する方法はありますを使用することができますので、リストは途中容易になるだろうと思いますか?

dynamic reps = JsonConvert.DeserializeObject("rep.json"); 

例のJSON:

`

public static dynamic FromJsonToDynamic(this object value) 
     { 
      dynamic result = value.ToString().FromJsonToDynamic(); 
      return result; 
     } 

`:

{"reps": { 
    { 
     "username": "usera", 
     "reps": 10, 
     "latestrep": "userx" 
    }, 
    "userb": { 
     "username": "userb", 
     "reps": 10, 
     "latestrep": "userx" 
    }, 
    "userc": { 
     "username": "userc", 
     "reps": 10, 
     "latestrep": "userx" 
    } 
}} 

私は、私はあなたがこのような何かを探していると思う助け

+1

あなたのJSONの関連するスニペットを表示してください。 – Equalsk

+0

は例を追加しました – d45ndx

+1

それは無効です、かなりあなたがいくつかを見逃していることを確かめてください – Equalsk

答えて

0

あなたがリスト項目を定義するクラスを持っている提供:

public class UserReps 
{ 
    public string Username { get; set; } 
    public int Reps { get; set; } 
    public string LatestRep { get; set; } 
} 

あなたがLINQで欲しいものを達成することができます

IDictionary<string, IDictionary<string, UserReps>> parsed = JsonConvert.DeserializeObject<IDictionary<string, IDictionary<string, UserReps>>>(json); 
List<UserReps> userReps = parsed["reps"].Select(ur => ur.Value).ToList(); 
-1

のいずれかの種類に感謝

これは一般的なオブジェクトに使用する拡張メソッドです。それが現時点であるようがない、あなたのデータで

public static T FromJson<T>(this object value) where T : class 
    { 
     T result = value.ToString().FromJson<T>(); 
     return result; 
    } 
-1

:あなたが特定のオブジェクトに変換するために何かを見ている場合は、次のように拡張メソッドを作成することができます。あなたの入力データは、論理的に「リスティング」されているコレクションまたは何かには見えません。

+0

匿名のdownvotes arent誰にも多くの使用... – richzilla

関連する問題