var docToJson = doc.ToJson<BsonDocument>();
story Featured = JsonConvert.DeserializeObject<story>(docToJson);
public class story
{
[JsonProperty("_id"), JsonConverter(typeof(ObjectIdConverter))]
public ObjectId Id { get; set; }
....
public class ObjectIdConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
serializer.Serialize(writer, value.ToString());
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue,
JsonSerializer serializer)
{
JToken token = JToken.Load(reader);
return new ObjectId(token.ToObject<string>());
}
public override bool CanConvert(Type objectType)
{
return (objectType == typeof(ObjectId));
}
}
}
나는 6 가지 방법을 시도했지만 여전히 json 리더와 동일한 오류가 발생합니다.
마지막에서이 시도 SO *
JsonReader 예외
값을 구문 분석하는 동안 예상치 못한 문자가 발견되었습니다. O. 경로 '_id', 줄 1, 위치 10.
JSON 문자열은 다음과 같습니다.
{
"_id": ObjectId("5378f94a3513fa3374be7e20"),
"cc": "GB",
"userName": "xyz ",
"userImage": "img/16.jpg",
"createdDate": ISODate("2014-05-18T18:17:46.983Z"),
"Headling": "Veniam, amet, incidunt veniam, ipsam nostrud natus exercitationem consectetur, eos dolorem. ",
"subheading": "Veniam, amet, incidunt veniam, ipsam nostrud. "
}
_id
속성 값 이 JSON 표준을 따르지 않기 때문에이 오류가 발생 합니다 ( JSON.org 참조 ). JSON 값은 다음 중 하나 여야합니다.
"
){
및로 시작하고 끝남 }
)[
및로 시작 및 끝남 ]
)true
, false
또는null
값 ObjectId("5378f94a3513fa3374be7e20")
이 유효하지 않은 함수 인 것 같습니다. 값 ISODate("2014-05-18T18:17:46.983Z")
도 같은 문제가 있습니다. JSON.net을 사용하여 구문 분석하려면 표준을 충족하도록 JSON을 변경해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다