1
    var JSONObj='[{"rmaNumber":null,"orderReferenceNumber":"referene45","orderStatus":"Pending","dateRequested":null,"dateApproved":null,"segateAddress":null,"billingAddress":null,"shippingAddress":null,"returnForCredit":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"returnForExchange":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"totals":null}]'
    var parsedJSON = eval('(\'+JSONObj+\')');    
    var result=parsedJSON.result;
    var count=parsedJSON.count;
    alert('result:'+result+' count:'+count);

アラートで undefined :undefined を与える

4

7 に答える 7

1

そのために使用する必要がありますJSON.parse()

var parsedJSON = JSON.parse(JSONObj);
console.log(parsedJSON[0].orderStatus);  // "Pending"

注:この方法は、最新のブラウザーでのみサポートされています。ブラウザの互換性については、こちらをご覧ください。

于 2013-03-13T08:25:49.503 に答える
1
var JSONObj='[{"rmaNumber":null,"orderReferenceNumber":"referene45","orderStatus":"Pending","dateRequested":null,"dateApproved":null,"segateAddress":null,"billingAddress":null,"shippingAddress":null,"returnForCredit":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"returnForExchange":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"totals":null}]';

var parsedJSON = JSON.parse(JSONObj);    
var result=parsedJSON.result;
var count=parsedJSON.count;
alert('result:'+result+' count:'+count);

ただし、「result」または「count」というJSONフィールドがないため、これらは未定義になります。

于 2013-03-13T08:25:53.547 に答える
0

第一に:

var parsedJSON = eval('(\'+JSONObj+\')');

する必要があります

var parsedJSON = eval('('+JSONObj+')');   

2番目のもの:
何も表示されないresultか、countオブジェクトがjson文字列です

3番目のこと:
jsonのデータは配列にあるので、オブジェクトresultがオブジェクトにある場合は、配列にアクセスする必要があります。parsedJSON[0].result

于 2013-03-13T08:50:19.433 に答える
0

代わりにJSON.parseを使用できます。

JSON.parsenativly(MSIE)をサポートしていないブラウザの場合、 json2json3などのサードパーティライブラリを使用できます。

var parsedJSON = JSON.parse(JSONObj); 
于 2013-03-13T08:26:04.847 に答える
0

見積もりに問題があります。

あなたはそれを置き換えることによってそれを修正するかもしれません

var parsedJSON = eval('(\'+JSONObj+\')');    

var parsedJSON = eval('('+JSONObj+')');    

ただし、ここではJSON.parseを使用しない理由はありません。

于 2013-03-13T08:26:29.710 に答える
0
var parsedJSON = eval(JSONObj);

これにより、解析済みのJSONオブジェクトが既に提供されます。resultただし、Jsonオブジェクト内にはプロパティ名がないため、そうしますcount。そして、配列を数えたい場合はlength、たとえばparsedJSON.length

于 2013-03-13T08:28:57.320 に答える
0

試す

var JSONObj='[{"rmaNumber":null,"orderReferenceNumber":"referene45","orderStatus":"Pending","dateRequested":null,"dateApproved":null,"segateAddress":null,"billingAddress":null,"shippingAddress":null,"returnForCredit":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"returnForExchange":{"requested":null,"received":null,"shipped":35,"credited":45,"invoiceAmount":null},"totals":null}]';

 eval("var  parsedJSON =" + JSONObj);
于 2013-03-13T08:31:22.120 に答える