私はAndroid 3.1以上のアプリケーションを開発しています。BEGIN_ARRAYが必要ですが、3つの要素の配列を持つBEGIN_OBJECTでした
私はAndroid用のSpring Framework 1.0.0.0RC1とGoogle GSon 2.1を使用しています。
JSONの解析中にエラーが発生します。
これはJSON "http://192.168.1.128/RestServiceImpl.svc/forms/"によって返さです。ここで
{
"allFormsResult": [
{
"FormId": 1,
"FormName": "Formulario 1"
},
{
"FormId": 2,
"FormName": "Formulario 2"
},
{
"FormId": 3,
"FormName": "Formulario 3"
}
]
}
私はすべてでください:私はそれを解析しようとすると、私は次のエラーを
public class FormSpringController
{
public static List<Form> LoadAll()
{
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setAccept(Collections.singletonList(new MediaType("application","json")));
HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);
String url = "http://192.168.1.128/RestServiceImpl.svc/forms/";
GsonHttpMessageConverter messageConverter = new GsonHttpMessageConverter();
List<HttpMessageConverter<?>> messageConverters = new ArrayList<HttpMessageConverter<?>>();
messageConverters.add(messageConverter);
RestTemplate restTemplate = new RestTemplate();
restTemplate.setMessageConverters(messageConverters);
ResponseEntity<Form[]> responseEntity = restTemplate.exchange(url, HttpMethod.GET, requestEntity, Form[].class);
Form[] result= responseEntity.getBody();
return Arrays.asList(result);
}
}
を得る:
W/System.err(519): Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2
あなたは、私はそれを修正する方法を知っていますか?
UPDATE
@hotveryspicyはJSONとの "問題" がある私を示唆しています。これは、どのように私は(C#コード)JSONレスポンスを生成しています:
public class RestServiceImpl : IRestServiceImpl
{
public List<FormContract> allForms()
{
List<FormContract> list = null;
using (var vAdmEntities = new ADMDatabase.ADMEntities())
{
list = new List<FormContract>();
foreach (var form in vAdmEntities.Form)
{
FormContract formC = new FormContract
{
FormName = form.name.Trim(),
FormId = form.formId
};
list.Add(formC);
}
}
return list;
}
}
ありがとうございました。どうすれば修正できますか?私はそのWebサービス(C#とWCFで作られた)を変更することができますが、私はどのようにわかりません。 – VansFannel
コードの解析方法 –
C#コードですか?どのようなコードが必要ですか? – VansFannel