私は複数のAPIを使用しています。私は匿名のオブジェクトを受け取る(私はクラスを作成したくない)を使いたい。オブジェクトをデシリアライズしようとすると問題が発生します。c#API "値の解析中に予期しない文字が見つかりました:Sパス"、行0、位置0 "
私はこのスキームに従ったAPIを持っていますが、それはjson_dumps
関数を使用してpython
から呼び出されたときにうまく機能します。 。私は(AあるいはPOSTMANから、私は400不正な要求を持っているJSON.stringify
にしようとすると、
ここに私のコードです。しかし、私は多くのことを試してみました:stringの
[WebInvoke(Method = "POST", UriTemplate = "myUrl")]
[OperationContract]
public Message myMethod(object objectSentByUser)
{
var perso = JsonConvert.DeserializeObject<dynamic>(objectSentByUser.ToString());
JsonConvert.DeserializeObject<dynamic>
待機を、私が試した:
を私がそうするとき、私もこの方法を入力せずに400を持っているmyMethod
の引数に文字列としてobjectSentByUser
を指定-to(私が、引用符を追加するには、JSONを送信しようとしました文字列を送信するなど)
-toキャスト、それは
次のエラーにつながるtoString()
方法、使用-to動作しません:位置0、S.パス「」、行0:値を解析中に遭遇した 予期しない文字を
(?Pythonのjson_dumpで使用した場合しかし、なぜそれが動作しない) 「System.Objectの」objectSentByUser.toString()
戻りますので、非常に正常である
"{\\" key1 \\ ":\\" value1 \\ "、...}"ポストマンから
私が(stackoverflowの上の別の議論で見つかったウェブサイト上で確認さ)、本体にあなたの助け
参照してください
おかげで多くのことをcontentType
、有効なJSON
としてapplication/json
クラシックPOSTを送信ユーザー
感謝を。 コンテンツタイプapplication/jsonとJSONオブジェクトを含むPOSTMANをAPIに使用すると、400の不正リクエストが発生し、myMethodも入力しません。 私はこの方法でフォーマットされたオブジェクトを送信するときにそれが動作: 「{\」KEY1の\「:\」VALUE1 \「...}」私はpythonのダブルバックスラッシュはないと試みた理由 が分かりません単一のバックスラッシュで.. – heythere