DB から Java (Android) アプリケーションに取得した JSON を解析する際に問題が発生しています。あなたが私を助けてくれることを願っています:
これは私が持っているJsonです:
<br>
[{<br>
"ID" : "1",<br>
"name" : "Test name",<br>
"type" : "1",<br>
"Desc" : "blablabla",<br>
"minNum" : "0",<br>
"maxNum" : "12",<br>
"Num" : "8",<br>
"bool1" : "0",<br>
"bool2" : "1",<br>
"bool3" : "1",<br>
"date" : "2012-04-01 23:00:00",<br>
"double1" : "39.47208",<br>
"doubl2" : "-0.3556063",<br>
"someText" : "ajayeah",<br>
"number" : "15",<br>
"anotherNumber" : "1234"<br>
}, {"ID" : "2",<br>
"name" : "Test name",<br>
"type" : "1",<br>
"Desc" : "blablabla",<br>
"minNum" : "0",<br>
"maxNum" : "12",<br>
"Num" : "8",<br>
"bool1" : "0",<br>
"bool2" : "1",<br>
"bool3" : "1",<br>
"date" : "2012-04-01 23:00:00",<br>
"double1" : "39.47208",<br>
"doubl2" : "-0.3556063",<br>
"someText" : "ajayeah",<br>
"number" : "15",<br>
"anotherNumber" : "1234"<br>
}]<br>
(名前は明らかに私がここに書いたものではありません:P)
たとえば、responseString; という変数に、すべてを文字列 (チェック済み、OK) として持っています。
そして、変換を行うために可能なすべての方法を試しましたが、常に失敗します。'[' ']' を削除するオブジェクトとして、配列として取得しようとしました (私が達成したことですが、この行は失敗します):
MyClassList MyClas = new Gson().fromJson(responseString, MyClassList.class);
エラーは次のとおりです。
com.google.gson.JsonSyntaxException:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY
(最初にオブジェクトまたは配列に変換する他のテストでは、エラーはBEGIN_STRINGにあります)
ブール値とカレンダー型 (Date) を使用していて、Gson ライブラリでサポートされていないためでしょうか?
ええと、私は怒っているので、あなたがここから出てくれることを願っています。
ありがとう :)
カレンダーを使用しないでください。それが私の問題でした。代わりに、Date を使用すると機能します。また、理由はわかりませんが、"0"|"1" のようなブール値は機能しません。「true」|「false」のようにはい。