2016-10-27 11 views
0

C#とXamarinで新しく、jsonオブジェクト配列をjsonオブジェクト配列に変換してC#でカスタムクラスに変換します。JSONオブジェクト配列文字列をJSONオブジェクト配列からXamarinのカスタムクラスに変換する方法

string test = @"{firstName: ""Sample First Name"", lastName: ""Sample Last Name""}"; 
Newtonsoft.Json.Linq.JObject sample = Newtonsoft.Json.Linq.JObject.Parse(test); 
Console.WriteLine(sample); 

リターンが正しいそれはこのようになります。

{ 
    "firstName": "Sample First Name", 
    "lastName": "Sample Last Name" 
} 

それは単一のオブジェクトであるので、私はこれが機能していると思いますが、私のJSONオブジェクトの配列の文字列は次のようにされている場合、それが動作しません私は応答から得ていますか?

string test2 = @"[{firstName: ""Sample First Name"", lastName: ""Sample Last Name""},{firstName: ""Sample First Name 2"", lastName: ""Sample Last Name 2""}]"; 

私はtest2をjsonオブジェクト配列に変換しますか?

ご協力いただきありがとうございます。

+0

jsonが正しくありません。 –

+0

hi @viveknuna、jsonのエラーは何ですか? – ron

+0

[{ \t "firstNameの": "サンプルファーストネーム"、 \t "lastNameの": "サンプル姓" }、{ \t "firstNameの": "サンプル名前2"、 \t "lastNameの": "サンプルの姓2 " }] –

答えて

3

あなたの例では、それをカスタムクラスに解析しませんでした。ただし行うことができます:

public class Data 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
} 

// ... 
var test2 = @"[{firstName: ""Sample First Name"", lastName: ""Sample Last Name""},{firstName: ""Sample First Name 2"", lastName: ""Sample Last Name 2""}]"; 
var objects = JsonConvert.DeserializeObject<List<Data>>(test2); 
+0

ありがとう@heinzbeinz、既にそれを働かせました。 – ron

+0

嬉しいです – Nico

1
var myObject = eval('(' + myJSONtext + ')'); 

は、あなたが以下のスニペットを使用することができ、それをテストします。

var s =" [{'id':1,'name':'Test1'},{'id':2,'name':'Test2'}]"; 
var myObject = eval('(' + s + ')'); 
for (i in myObject) 
{ 
    alert(myObject[i]["name"]); 
} 

使用jsonConverterデシリアライザはDeserializeObjectし、それはあなたに

またはJSONオブジェクトの creatのクラス

は、そのオブジェクトにJSONデータを挿入を助けるホップ

var objects_json = JsonConvert.DeserializeObject<List<object>>(test); 
0

有効なJsonが存在する必要があります。

[{ 
    "firstName": "Sample First Name", 
    "lastName": "Sample Last Name" 
}, { 
    "firstName": "Sample First Name 2", 
    "lastName": "Sample Last Name 2" 
}] 

public class Data 
{ 
    public string firstName { get; set; } 
    public string lastName { get; set; } 
} 

jsonを脱シリル化するコード。

Data result = JsonConvert.DeserializeObject<Data>(test); 
関連する問題