Newtonsoftライブラリ(Json.Net)を使用してファイルからJSONオブジェクトを解析しています。私はjsonlint.comでJSONを検証しましたが、それは有効です。値を解析した後、予期しない文字が発生しました:6. Path '[0]
しかし、私は言う:
using (StreamReader sr = new StreamReader(path))
{
json = await sr.ReadToEndAsync();
}
ContactsCollection = JsonConvert.DeserializeObject<List<Contact>>(json); //error
が、私はエラーを取得する:
After parsing a value an unexpected character was encountered: 6. Path '[0]
だから私はjson = await sr.ReadToEndAsync();
にブレークポイントを入れて示したJSON値は次のとおりです。
"\0{\0\"\0F\0i\0r\0s\0t\0N\0a\0m\0e\0\"\0:\0\"\0N\0i\0k\0h\0\"\0,\0\"\0L\0a\0s\0t\0N\0a\0m\0e\0\"\0:\0\"\0A\0N\0S\0\"\0,\0\"\0D\0a\0t\0e\0O\0f\0B\0i\0r\0t\0h\0\"\0:\0\"\01\02\0/\07\0/\01\09\08\09\0 \01\02\0:\00\00\0:\00\00\0 \0A\0M\0\"\0,\0\"\0W\0e\0i\0g\0h\0t\0\"\0:\01\06\08\0.\00\0,\0\"\0H\0e\0i\0g\0h\0t\0\"\0:\01\06\08\0.\00\0,\0\"\0P\0h\0o\0n\0e\0\"\0:\0\"\0(\08\00\05\0)\0 \02\05\01\0-\01\00\01\05\0\"\0}\0]\0"
ここに私の実際のJSONがあります:
[{
"FirstName":"Nikh",
"LastName":"ANS",
"DateOfBirth":"12/7/1989 12:00:00 AM",
"Weight":168.0,
"Height":168.0,
"Phone":"(805) 251-1015"
}]
ここに私の連絡先のクラスです:
public class Contact : INotifyPropertyChanged
{
private string _firstName;
public string FirstName
{
get { return _firstName; }
set
{
_firstName = value;
NotifyPropertyChanged("FirstName");
}
}
private string _lastName;
public string LastName
{
get { return _lastName; }
set
{
_lastName = value;
NotifyPropertyChanged("LastName");
}
}
private string _dateOfBirth;
public string DateOfBirth
{
get { return _dateOfBirth; }
set
{
_dateOfBirth = value;
NotifyPropertyChanged("DateOfBirth");
}
}
private double _weight;
public double Weight
{
get { return _weight; }
set
{
_weight = value;
NotifyPropertyChanged("Weight");
}
}
private double _height;
public double Height
{
get { return _height; }
set
{
_height = value;
NotifyPropertyChanged("Height");
}
}
private string _phone;
public string Phone
{
get { return _phone; }
set
{
_phone = value;
NotifyPropertyChanged("Phone");
}
}
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
誰が間違っているかもしれないものを知っていますか?
あなたは 'Contact'クラスを含めることができますか? – degant
連絡先クラスのような詳細をあなたのサンプルに入れてください –