私は自分のコードに次のエラーを取得しています:アペックスJSONパースエラー
System.JSONExceptionのヌルをで デシリアライズにApexのオブジェクトの種類を知ってはいけない[ライン:1、列:1] 11(システムコード) Class.FactorLab.FactorLabWebservices.RetrieveUsersFromFactorLab:ライン 60、カラム1 Class.FactorLab.PullUsers.execute:
:行61、列ここで1
は、問題のコードであります
有効なJSONを受け取っていると確信していますが、このエラーが発生したときに受け取っているJSONが正確かはわかりません。
[ { "SFDCStatus" : "RETRIEVED",
"address" : "123 Fake St.",
"addressLine1" : "Address1",
"addressLine2" : "Address2",
"city" : "San Francisco",
"companyName" : "Big Cheese, Inc.",
"deleted" : false,
"email" : "[email protected]",
"firstName" : "James",
"hireDate" : "2000-04-15T00:00:00Z",
"id" : 39,
"lastName" : "Willard",
"lastUpdated" : "2011-11-23T05:44:03Z",
"myersBriggs" : "SFDC",
"name" : "James Willard",
"phone" : "415-555-1212",
"position" : "Big Chief",
"regions" : [ { "deleted" : false,
"id" : 445,
"name" : "Mountain"
} ],
"state" : "CA",
"yearsExp" : 20.0,
"zip" : "94131"
},
{ "SFDCStatus" : "RETRIEVED",
"deleted" : false,
"firstName" : "Daniel",
"id" : 40,
"lastName" : "Adams",
"lastUpdated" : "2011-11-23T05:44:03Z",
"name" : "Daniel Adams"
}
]
任意のアイデア:
[]
また、このような何かを得ることができます:それは、単純に空の配列を得ることができますか?誰かがこれがSalesforce.comのバグだと言いましたが、それが真実であっても、回避策が必要です。
が、コードの原作者によると、だけのために働くということしばらくしてから元の方法に戻すまで同じエラーが再び出るようになるでしょう。ある種の「キャッシング」問題。それは私には意味をなさない。あなたには意味がありますか? – jhericks
キャッシングの問題は、新しいケースが送信されるように聞こえるように聞こえます。これは実際には真であり、これをモデル化したコードはApexの開発者ガイドからそのままです。言い換えれば、それが真実なら、それはSalesforceのバグであり、修正されるでしょう。しかし、個人的には私は手でパースしてしまいました。システムJSONパーサークラス/メソッドのニュアンスを理解したら素晴らしいことがありました。シリアライズ/デシリアライズ機能の現在の制限だけで、私に忍び寄ることができます。 2セント。 – Adam
私はケースを提出しましたが、私はプレミアサポートがないので拒否しました。私はサポートのために支払う必要があることを理解していますが、バグを提出するために実際に支払うことはありません。しかたがない。だからあなたが「手でパースする」と言うと、あなたはApexにあなた自身のJSONパーサーを書くことについて話していませんか? – jhericks