を追加ブラケットを追加しますSerializeObjectを使用してjsonオブジェクトを作成し、次にUrlEncodeを使用してjsonをエンコードし、ポストリクエストでそれを送信することです。
Dim postjson As String = JsonConvert.SerializeObject(article)
Dim request As WebRequest = WebRequest.Create("url")
request.Method = "POST"
Dim postData As String = WebUtility.UrlEncode(postjson)
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(postData)
request.ContentType = "application/x-www-form-urlencoded"
//go off and send the post request
これは、この形式で有効なJSONを生成するようだ -
{
"source": "le sauce",
"subTopic": "le subtopic",
"Title": "le title",
"Body": "le body",
"refs": "le refs",
"lastUpdated": "19/12/2016 11:23:56"
}
が、私はJSONを送信し、私のノードコントローラに以下のコードでJSONを試してみて、解析する際には、追加のブラケットを追加しているようですジョソンにはコロンが付いています。
ノードコントローラ
var express = require('express');
var router = express.Router();
var bodyParser = require('body-parser');
var fs = require("fs");
var wkhtmltopdf = require('wkhtmltopdf');
router.use(bodyParser.urlencoded({ extended: true }));
router.post('/', function(req, res) {
console.log(req.body);
res.status(200).send('lol');
});
module.exports = router;
、これは余分なブラケット、コロン、引用符など何らかの理由はconsole.log(req.body)
{ '{
"source”:”le sauce“,
”subTopic”:”le subtopic“,
”Title”:”le title“,
”Body”:”le body“,
”refs”:”le refs“,
”lastUpdated":"19/12/2016 11:23:56"
}': '' }
から出力される無効JSONでありますいくつかの時点でjsonに追加され、jsonが無効になってしまった.Iron側では起こっていないが、Nodeがポストリクエストを処理しようとしたときに起こっているはずだが、
これを解決する方法についてのご意見はありますか?
今働いているいくつかの理由 – scriptss
ためreq.body出力空のJSONオブジェクトを作成、追加のブラケットと、このようなはもう追加されていないが、さらに多くの奇妙な何かが起こっていますjsonでは、引用符のすべてがアポストロフィで置き換えられてjsonを無効にします。 – scriptss
@scriptss:それを受け取るまでにはもうJSONではありません。それはbody-parserの** point **です。あなたの* body *を解析します。 'console.log(req.body)'を実行している場合は、オブジェクトをダンプし、ノードはデフォルトのオブジェクト出力を使用します(例えば、 'object {foo: 'bar'}')。 –