2

たとえば、「abc」、「bcd」、「gdf」などの名前のリストを文字列の配列に保存するとします。これらの各値をチェックボックスとともに表示する Android アプリがあります。リモート データベースに格納できるように、文字列配列を JSON 文字列に変換する必要があります。現在、SQL Server を使用して作成されたデータベースを使用して localhost で作業しています。Web サービス、できれば SOAP を使用して、JSON 文字列値をデータベースに挿入する必要があります。

どうすればいいですか?そうする他の良い方法はありますか?

これが私のAndroidコードです。

ありがとう

4

3 に答える 3

2

私の場合、これはうまくいきます、

          JSONObject jsonObject = new JSONObject();

            jsonObject.put("key1", value1);
            jsonObject.put("key2", value2);

            JSONArray jArrayParam = new JSONArray();
            jArrayParam.put(jsonObject);

            List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>();
            nameValuePair.add(new BasicNameValuePair("bulkdata",
                    jArrayParam.toString()));

            Log.e("bulkdata", jArrayParam.toString());

        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("yor remote database url");

        httppost.addHeader("Content-Type", "application/x-www-form-urlencoded");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.UTF_8));
        // Execute HTTP Post Request
        HttpResponse response = httpclient.execute(httppost);
        // get response entity
        HttpEntity entity = response.getEntity();

それを試してみてください。サンクス。

于 2011-08-29T13:43:37.373 に答える
1

さて、JSONObject と JSONArray に String 配列を書き込む方法をお見せしようとしました。

String arr[]  = {"1","parth","present","30-82011","Mumbai"};

try {
                JSONObject obj=new JSONObject();
                obj.put("rollno",new Integer(arr[0]));
                obj.put("status",arr[1]);
                obj.put("date",arr[2]);
                obj.put("place",arr[3]);
                System.out.print(obj.toString(1));

                JSONArray list = new JSONArray();
                list.put(arr[0]);
                list.put(arr[1]);             
                list.put(arr[2]);               
                list.put(arr[3]);              
                System.out.print(list.toString(1));
                System.out.println("");
        } catch (Exception e) {
            e.printStackTrace();
        }
于 2011-08-29T17:23:16.530 に答える