如何在Fiddler CustomRules.js中的JSON响应中遍历数组?

时间:2019-02-25 10:20:26

标签: fiddler

在CustomRules.js

static function OnBeforeResponse(oSession: Session) {

        var responseStringOriginal =  oSession.GetResponseBodyAsString();

        var responseJSON = Fiddler.WebFormats.JSON.JsonDecode(responseStringOriginal);
        var responseJSONObject = responseJSON.JSONObject;
}

响应responseJSONObject中有一个数组,类似于

[
    {
        "id": "6661370502453447944"

    },

    { 

        "id": "333" 

    },

    ...

]

问题1:如何获取此数组的长度或遍历该数组?


问题2:如何将javascript数组保存到responseJSON.JSONObject?

我尝试过

var newJSON = Fiddler.WebFormats.JSON.JsonDecode('{}');
var newJSONObject = newJSON.JSONObject;

newJSONObject['type'] = 'aweme_info'; //ok
newJSONObject['aweme_length'] = 3; //ok
newJSONObject['k']['kell'] = 'good'; //failed

var tpArray = new Array();
for (var i = 1; i < 3; i++) {
    tpArray.push(i);
}

var jsonString = JSON.stringify(tpArray); // failed
// how can I convert tpArray to JSON?


问题3:在哪里可以找到有关该对象“ Fiddler.WebFormats.JSON”的任何文档,例如其具有的方法和属性。


我尝试了几种方法,但没有任何效果,并且无法在此脚本中使用JSON.parse()函数。

我还在Google上搜索了该对象的文档(Fiddler.WebFormats.JSON),却一无所获。

非常感谢,欢迎您回复任何信息。

1 个答案:

答案 0 :(得分:0)

https://docs.microsoft.com/en-us/dotnet/api/system.collections.hashtable?view=netframework-4.7.2

此脚本语法与DOTNET非常相似。您可以阅读上面的文档以找到答案。