以下是我从服务器获得的响应(正文)。我正在寻找修改一些键值对。
我使用了以下方法:
var bodystr=oSession.GetResponseBodyAsString();
var bodyjson=Fiddler.WebFormats.JSON.JsonDecode(bodystr);
But the bodyjson
没有任何我期望的内容。
(我尝试使用MessageBox.Show(bodyjson.Sales.Qty);
但这会返回一个错误。)
{
"Sales" : {
"Qty" : 1,
"Item" : {
"value" : "7"
},
"TaxCode" : {
"value" : "NON"
},
"UnitPrice" : 3
},
"LineNum" : 0,
"DetailType" : "Sales",
"Amount" : 3,
"Id" : "1"
}
除了字符串替换方法之外,还有什么方法可以更改 JSON 响应吗?
上面的帖子帮助我完成了这项工作,我的完整示例如下
我想在发送之前更改的 JSON 如下
{
"ConsistId":"09C31636-0D8E-4C92-B09C-8413366E2D79",
"UserName":"Test",
"Date":"2016-07-19T13:10:00"
}
static function OnBeforeRequest(oSession: Session) {
if(oSession.HostnameIs("localhost")) {
oSession["ui-backcolor"] = "lime";
oSession["ui-bold"] = "Bold text here"
// Convert the request body into a string
var oBody = System.Text.Encoding.UTF8.GetString(oSession.requestBodyBytes);
// Convert the text into a JSON object
var j = Fiddler.WebFormats.JSON.JsonDecode(oBody);
//Change the ConsistId value
j.JSONObject["ConsistId"] = "A9C01636-0D8E-4C92-B09C-8413366E2D79";
// Convert back to a byte array
var modBytes = Fiddler.WebFormats.JSON.JsonEncode(j.JSONObject);
// Convert json to bytes, storing the bytes in request body
var mod = System.Text.Encoding.UTF8.GetBytes(modBytes);
oSession.RequestBody = mod;
}
...
这改变了请求,所以现在需要弄清楚如何显示填充 guid id 的提示
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)