Javascript 在调用JSON时未定义

Javascript 在调用JSON时未定义,javascript,arrays,json,Javascript,Arrays,Json,我正在从服务器获取这个JSON对象 { "bidderEliminationRuleValueId": 9, "preAuctionNoticeId": 21598, "auctionDetailId": 434136, "market": "MKT3", "bidderEliminationRuleId": 6, "r

我正在从服务器获取这个JSON对象

{
    "bidderEliminationRuleValueId": 9,
    "preAuctionNoticeId": 21598,
    "auctionDetailId": 434136,
    "market": "MKT3",
    "bidderEliminationRuleId": 6,
    "ruleInputValueStr": "{\"noOfPredicates\":3,\"predicates\":[{\"elements\":[{\"label\":\"No of bidder participated in SB\",\"pre\":true,\"value\":\"0\",\"type\":\"number\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false},{\"label\":\"\",\"pre\":true,\"value\":\"\",\"type\":\"display\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false},{\"label\":\"bidder\",\"pre\":false,\"value\":\"0\",\"type\":\"number\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false}]},{\"elements\":[{\"label\":\"No of bidder participated in SB\",\"pre\":true,\"value\":\"0\",\"type\":\"number\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false},{\"label\":\"\",\"pre\":true,\"value\":\"\",\"type\":\"display\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false},{\"label\":\"bidder\",\"pre\":false,\"value\":\"0\",\"type\":\"number\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false}]},{\"elements\":[{\"label\":\"No of bidder participated in SB\",\"pre\":true,\"value\":\"0\",\"type\":\"number\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false},{\"label\":\"\",\"pre\":true,\"value\":\"\",\"type\":\"display\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false},{\"label\":\"bidder\",\"pre\":false,\"value\":\"0\",\"type\":\"number\",\"options\":[],\"classAttr\":\"\",\"visible\":true,\"readonly\":false}]}]}",
    "priority": 5,
    "status": "A",
    "createId": 20480,
    "createDate": "May 3, 2021 6:39:14 PM",
    "updateId": 0,
    "stage": 0
}
这是我的js电话


function loadMarketRuleDetails(){
    var url = "/EPSWeb/sda/getBidderEliminationRuleDetailsAction.do?operation=MARKET_RULE_DETAILS&ruleId="+$('#ruleId').val()+"&auctionNoticeId="+$('#auctionNoticeId').val();
     marketRuleDetails = fetchGetJsonData(url, false);
     var html = "";
     alert(marketRuleDetails.length +"--"+marketRuleDetails[1].ruleInputValueStr.noOfPredicates );
     
     }
}

marketRuleDetails是一个返回值列表的列表。
marketRuleDetails[1]。ruleInputValueStr.Noofpredicate这行代码给了我未定义的信息。

看起来您在
ruleInputValueStr
中有json字符串。尝试
JSON。首先解析它

const parsed=JSON.parse(marketRuleDetails[1].ruleInputValueStr);
警报(marketRuleDetails.length+“--”+已解析.noOfPredicates);

在尝试使用该值之前,您需要解析该值。 它当前是一个字符串,但需要转换为JSON

让marketRuleDetails=[{},
{
“投标人删除规则ValueId”:9,
“预制作通知”:21598,
“auctionDetailId”:434136,
“市场”:“MKT3”,
“取消投标规则ID”:6,
“规则inputValuestr”这一次的规则是。。。在该领域的一名名男子的一名名男子的一名男子的一名男子的一名男子的投标者参加了一名男子的一名男子的一名男子的一名男子的一名男子的一名男子的一名男子的一名男子的一名男子的一名男子的一名男子的一名男子的一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子参加了一名男子一名男子一名男子一名男子一名男子参加了一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子一名男子的投标投标投标人参加了一名男子一名男子一名男子一名男子一名男子参加了一名男子一名男子一名男子,\”“前”部分:假,”前”部分:假,”假,”,”前”部分:假,“值”10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10,”,”,”10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10“\”目前,在该地区,除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了以外以外以外以外以外以外以外以外以外以外以外以外以外以外以外以外以外以外以外以外以外的以外以外以外的其他以外的其他以外,以外,除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了除了标签\“:\”投标人没有任何投标人参加投标的投标人参加了以下几点:以下几点投标的投标人没有投标人参加了以下几点投标的投标人参加了以下几点:以下几点投标的投标人没有投标人参加了以下几点投标的投标人参加了以下几点投标的投标人参加了以下几点投标的投标人参加了以下几点投标的投标人参加了以下以下几点:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,投标人投标人的投标人没有投标人没有投标人的投标人没有投标人没有投标人的投标人没有投标人的投标人没有投标人的投标人没有投标人参加投标的投标的投标人参加投标的投标的投标人参加:以下以下以下以下以下以下以下以下以下以下以下以下以下以下几点::::::::::,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,:\“0\,\”类型\“:\“number\”、\“options\”:[]、\“classAttr\”:\“\”、\“visible\”:true、\“readonly\”:false}]}”,
“优先”:5,
“状态”:“A”,
“createId”:20480,
“createDate”:“2021年5月3日下午6:39:14”,
“updateId”:0,
“阶段”:0
}
];
marketRuleDetails[1].ruleInputValueStr=JSON.parse(marketRuleDetails[1].ruleInputValueStr);

警报(marketRuleDetails.length+“--”+marketRuleDetails[1]。ruleInputValueStr.noOfPredicates);
我假设
fetchGetJsonData
函数是异步的。这意味着它要么返回takes的Promise对象,要么返回一个参数作为回调函数,接收它的响应。您可以在这里添加它的代码,或者尝试检查
fetchGetJsonData
如何工作,并阅读如何在JS.thanx json.p中处理异步函数arse工作正常json.parse工作正常。