JSONシリアライザーを使用したMongoDBオブジェクトIDの逆シリアル化

saj
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));
        }
      }
    }

私は立ち往生しています私は半ダースの方法を試しました、私はまだ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値は次のいずれかである必要があります。

  • 文字列(引用符で開始および終了"
  • オブジェクト(中括弧で開始および終了し{}
  • 配列(角括弧で開始および終了し[]
  • キーワードtruefalseまたはnull

ObjectId("5378f94a3513fa3374be7e20")は関数のようですが、無効です。ISODate("2014-05-18T18:17:46.983Z")にも同じ問題があります。JSON.netを使用して解析する場合は、標準を満たすようにJSONを何らかの方法で変更する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

JMSシリアライザーはオブジェクトのArrayCollectionを逆シリアル化します

分類Dev

フラッターでjson_serializableを使用したjsonオブジェクトの逆シリアル化

分類Dev

JSON4Sを使用したScalaでのケースオブジェクトの逆シリアル化

分類Dev

GSONを使用したKotlinオブジェクトの逆シリアル化

分類Dev

dartを使用したオブジェクトの逆シリアル化/シリアル化

分類Dev

JMSシリアライザーはネストされたオブジェクトを逆シリアル化します

分類Dev

ルート内の数値オブジェクトを使用してJSONを逆シリアル化します

分類Dev

Json.netを使用したJSONオブジェクト配列の逆シリアル化

分類Dev

JSON-Gsonを使用した動的オブジェクトの逆シリアル化

分類Dev

不明なオブジェクト名を使用したJSONの逆シリアル化

分類Dev

NewtonSoft.JSONを使用したインターフェイス/抽象オブジェクトのシリアル化

分類Dev

jsonのキーとしてオブジェクトを使用してRubyハッシュ/構造体をシリアル化/逆シリアル化する方法

分類Dev

オブジェクトへのパラメータを使用してXMLを逆シリアル化します

分類Dev

Gsonライブラリを使用してオブジェクトのJSON配列を逆シリアル化する方法?

分類Dev

json.netを使用したオブジェクトプロパティの条件付きシリアル化/逆シリアル化

分類Dev

名前空間を使用したオブジェクトの逆シリアル化でXMLシリアライザーがnullを返すのはなぜですか?

分類Dev

クラスの文字列名を使用して、実行時にオンザフライで作成された特定のインスタンスにJSONオブジェクトを逆シリアル化します

分類Dev

JSONオブジェクトの型を使用してJSONをPOJOに逆シリアル化します

分類Dev

サブタイプを使用してjsonをオブジェクトに逆シリアル化する方法は?

分類Dev

別のオブジェクトを含むjsonオブジェクトを逆シリアル化します

分類Dev

RestSharpを使用してJSONをオブジェクトまたは配列に逆シリアル化します

分類Dev

Androidのシンプルライブラリを使用してクラスオブジェクトを逆シリアル化する

分類Dev

Alamofireを使用したJSONオブジェクトのシリアル化

分類Dev

コンストラクターでJsonをオブジェクトに逆シリアル化します

分類Dev

JSON逆シリアル化オブジェクトの破棄

分類Dev

JSONオブジェクトの逆シリアル化と操作

分類Dev

Jacksonを使用したJSON応答内のネストされたオブジェクトからのフィールドの逆シリアル化

分類Dev

jsonをオブジェクトに逆シリアル化する:ラッパークラスの回避策

分類Dev

LocalDateTimeフィールドを使用してJSONをオブジェクトに逆シリアル化する

Related 関連記事

  1. 1

    JMSシリアライザーはオブジェクトのArrayCollectionを逆シリアル化します

  2. 2

    フラッターでjson_serializableを使用したjsonオブジェクトの逆シリアル化

  3. 3

    JSON4Sを使用したScalaでのケースオブジェクトの逆シリアル化

  4. 4

    GSONを使用したKotlinオブジェクトの逆シリアル化

  5. 5

    dartを使用したオブジェクトの逆シリアル化/シリアル化

  6. 6

    JMSシリアライザーはネストされたオブジェクトを逆シリアル化します

  7. 7

    ルート内の数値オブジェクトを使用してJSONを逆シリアル化します

  8. 8

    Json.netを使用したJSONオブジェクト配列の逆シリアル化

  9. 9

    JSON-Gsonを使用した動的オブジェクトの逆シリアル化

  10. 10

    不明なオブジェクト名を使用したJSONの逆シリアル化

  11. 11

    NewtonSoft.JSONを使用したインターフェイス/抽象オブジェクトのシリアル化

  12. 12

    jsonのキーとしてオブジェクトを使用してRubyハッシュ/構造体をシリアル化/逆シリアル化する方法

  13. 13

    オブジェクトへのパラメータを使用してXMLを逆シリアル化します

  14. 14

    Gsonライブラリを使用してオブジェクトのJSON配列を逆シリアル化する方法?

  15. 15

    json.netを使用したオブジェクトプロパティの条件付きシリアル化/逆シリアル化

  16. 16

    名前空間を使用したオブジェクトの逆シリアル化でXMLシリアライザーがnullを返すのはなぜですか?

  17. 17

    クラスの文字列名を使用して、実行時にオンザフライで作成された特定のインスタンスにJSONオブジェクトを逆シリアル化します

  18. 18

    JSONオブジェクトの型を使用してJSONをPOJOに逆シリアル化します

  19. 19

    サブタイプを使用してjsonをオブジェクトに逆シリアル化する方法は?

  20. 20

    別のオブジェクトを含むjsonオブジェクトを逆シリアル化します

  21. 21

    RestSharpを使用してJSONをオブジェクトまたは配列に逆シリアル化します

  22. 22

    Androidのシンプルライブラリを使用してクラスオブジェクトを逆シリアル化する

  23. 23

    Alamofireを使用したJSONオブジェクトのシリアル化

  24. 24

    コンストラクターでJsonをオブジェクトに逆シリアル化します

  25. 25

    JSON逆シリアル化オブジェクトの破棄

  26. 26

    JSONオブジェクトの逆シリアル化と操作

  27. 27

    Jacksonを使用したJSON応答内のネストされたオブジェクトからのフィールドの逆シリアル化

  28. 28

    jsonをオブジェクトに逆シリアル化する:ラッパークラスの回避策

  29. 29

    LocalDateTimeフィールドを使用してJSONをオブジェクトに逆シリアル化する

ホットタグ

アーカイブ