前提・実現したいこと
Saleceforceのapexでテストコードを書いているのですが、
JSON.deserializeがうまく動きません。どのようにすれば
うまく動作するのかご教示いただけますでしょうか。
発生している問題・エラーメッセージ
Method does not exist or incorrect signature: void deserialize(List<String>, System.Type) from the type System.JSON
該当のソースコード
apex
1@isTest(SeeAllData=true) 2private class SoqlOperateTest { 3 //オブジェクト定義 4 class TestRes{ 5 String address1; 6 String address3; 7 String areaCode; 8 String mailAddress1; 9 String canMailMagaFlag1; 10 String firstName; 11 String firstNameKana; 12 String gender; 13 String Id; 14 String lastName; 15 String lastNameKana; 16 String tel1; 17 String zipCode; 18 } 19 20 @isTest static void RecordsTransferJsonTest(){ 21 SoqlOperate sq = new SoqlOperate(); 22 String strSql = 'SELECT ' + 23 ' City,' + 24 ' Email,' + 25 ' FirstName,' + 26 ' first_name_kana__c,' + 27 ' gender__c,' + 28 ' Id,' + 29 ' LastName,' + 30 ' last_name_kana__c,' + 31 ' Phone,' + 32 ' PostalCode,' + 33 ' State,' + 34 ' Street' + 35 ' FROM Lead '; 36 List<Lead> leads = Database.query(strSql); 37 List<String> s1 = sq.RecordsTransferJson(leads); 38 testRes t = (TestRes)JSON.deserialize(s11,TestRes.class); 39 String Lead_PersonId = t.Id; 40 System.debug(s1); 41 } 42}
試したこと
以下の通り、コンソールで試した場合はエラーメッセージは表示されず
正常に動作します。TESTで通そうとするとエラーとなります。
apex
1//オブジェクト定義 2public class Test_res{ 3 String address1; 4 String address3; 5 String areaCode; 6 String mailAddress1; 7 String firstName; 8 String firstNameKana; 9 String gender; 10 String Id; 11 String lastName; 12 String lastNameKana; 13 String birthDate; 14 String tel1; 15 String zipCode; 16} 17 18SoqlOperate sq = new SoqlOperate(); 19List<Lead> li = sq.GetLeads(); 20List<String> s = sq.RecordsTransferJson(li); 21for (String str : s) { 22 Test_res t = (Test_res)JSON.deserializeStrict(str,Test_res.class); 23 System.debug('**address1** ' + t.address1); 24 System.debug('**address3** ' + t.address3); 25 System.debug('**areaCode** ' + t.areaCode); 26 System.debug('**mailAddress1** ' + t.mailAddress1); 27 System.debug('**firstName** ' + t.firstName); 28 System.debug('**firstNameKana** ' + t.firstNameKana); 29 System.debug('**gender** ' + t.gender); 30 System.debug('**Id** ' + t.Id); 31 System.debug('**lastName** ' + t.lastName); 32 System.debug('**lastNameKana** ' + t.lastNameKana); 33 System.debug('**birthDate** ' + t.birthDate); 34 System.debug('**tel1** ' + t.tel1); 35 System.debug('**zipCode** ' + t.zipCode); 36}
補足情報(FW/ツールのバージョンなど)
Saleceforce
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/23 01:30
2020/06/23 02:48