1

Apex クラスから HTTP Post 要求を送信し、JSON パーサーを使用して応答を解析しようとすると、このエラーが発生します。以下は、「メソッドが存在しないか、署名が正しくありません: [String].createParser(String)」というコードです。

   req.setMethod('POST');
   res = http.send(req);
   JSONParser parser = JSON.createParser(res.getBody());

私の知る限り、createParser は静的メソッドであり、このように呼び出すことができます。salesforce.com のドキュメントを参照しました - http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_json_jsonparser.htm

ここで私を助けて、私が間違っているところを修正してもらえますか? ありがとう

4

1 に答える 1

3

JSON という名前の変数を使用していますか? Apex では大文字と小文字が区別されない場合があることに注意してください。私は同様の問題を抱えていました(http応答ではなく文字列を解析していますが)おそらくあなたのものは同じです:

public static someMethod Parser(String json) {
    ...    
    JSONParser parser = JSON.createParser(json);
    ...

私が渡したパラメータに注意してください。この特定の状況は、「json」パラメーターの名前を別の名前に変更することで解決できます。

public static someMethod Parser(String jStr) {
    ...    
    JSONParser parser = JSON.createParser(jStr);
    ...

そして出来上がり!

于 2016-10-28T00:34:09.083 に答える