質問編集履歴

5 phpのコードも記述しました。

NewYork

NewYork score 41

2018/10/11 10:13  投稿

JSONが受け取れない
Android開発をしています。
PHPから、IDだけJSONで送って
JavaでJSONを受け取るようにしているのですが、
なかなかできません。
これまで、何度か同じ様な処理を実装しているのですが
どうしてもidだけが取れないです。何が原因なのか、調べてもわかりません。
どこを修正すれば良いでしょうか...
以下がJSONをエンコードした形です。
```json
{
   "number": [
       {
           "id": "10"
       }
   ]
}
```
そして、下記がJavaのAsyncTaskのコードになります。
```Java
public class Get_IdTask extends AsyncTask<String, String, String> {
   private Activity activity;
   public Get_IdTask(Activity act){
       this.activity = act;
   }
   @Override
   protected void onPreExecute(){
       super.onPreExecute();
   }
   @Override
   protected String doInBackground(String...parameter){
       String word = parameter[0];
       String urls = "JSONを取って来るURL";
       URL url = null;
       HttpURLConnection connection = null;
       OutputStream out = null;
       StringBuilder response = new StringBuilder();
       try{
           url = new URL(urls);
           connection = (HttpURLConnection)url.openConnection();
           connection.setRequestMethod("POST");
           connection.setDoOutput(true);
           connection.setDoInput(true);
           OutputStreamWriter outwriter = new OutputStreamWriter(connection.getOutputStream());
           outwriter.write("id="+word);
           Log.d("LOGLOG",""+word);
           outwriter.flush();
           connection.connect();
           int status = connection.getResponseCode();
           if(status == HttpURLConnection.HTTP_OK){
               InputStream in = connection.getInputStream();
               String encoding = connection.getContentEncoding();
               if(encoding == null){
                   encoding = "UTF-8";
               }
               InputStreamReader inreader = new InputStreamReader(in,encoding);
               BufferedReader bufreader =new BufferedReader(inreader);
               String line = null;
               while((line = bufreader.readLine()) != null){
                   response.append(line);
               }
               bufreader.close();
               inreader.close();
               in.close();
           }else{
               Log.d("LOGLOG",""+status);
           }
       }catch (IOException e){
           e.printStackTrace();
       }finally {
           if(connection != null){
               connection.disconnect();
           }
       }
       return response.toString();
   }
   @Override
   protected void onPostExecute(String result) {
       try{
           JSONObject rootJSON = new JSONObject(result);
           JSONArray spotArray = rootJSON.getJSONArray("number");
           JSONObject detail = spotArray.getJSONObject(0);
           String id = detail.getString("id");
           Intent intent = new Intent(activity, SecondActivity.class);
           intent.putExtra("id",id);
           activity.startActivity(intent);
       }catch (JSONException e){
           Log.d("LOGLOG","Nullです。");
           e.printStackTrace();
       }
   }
}
```
Activityから、任意の文字列をAsyncTaskに渡し、
AsyncTaskからその文字列をPOSTでPHPに送っています。
そして、PHPではその文字を検索して
結果として、検索したレコードのIDを取り
idを違うActivityへ渡すということをしています。
どうしても、JSONExceptionが投げられ
"Nullです。" と、logには出てしまいます。
どこがおかしいのでしょうか。
AsyncTaskでJSONを受け取る実装は何度かしてきましたが
今回ばかりは、調べてもどこが原因なのか検討がつきません。
ご教示いただけましたら、幸いです。
------------------------------------
補足です。
コメントをいただいて、resultの中を見て見ました。
resultの中は、以下のように書かれていました。
```Log
Array(   [0] => Array       (           [id] => 10       )){"number":[{"id":"10"}]}
```
値は取れていることを確認できたので
あとはJSONのパースで失敗しているのだと思います。
この場合、"10"だけ取得するには、どのようにパースすれば良いのでしょうか。。。
しっかり開発を初めて3ヶ月くらいなので、簡単なことしかわからず。。。
申し訳ございませんが、ご教示のほどよろしくお願いいたします。
申し訳ございませんが、ご教示のほどよろしくお願いいたします。
------------------------------------
補足②
先ほど載せたresultの中身ですが
```Log
Array(   [0] => Array       (           [id] => 10       ))
```
この部分がいらないようです。
下記がphpです。
```php
       $str = $_POST["id"];
   
       $model = new ModelTest();
       $a = $model->getid($str); 
       print_r($a);
       $count = count($a);
       for ($i=0; $i < $count ; $i++) {
            $search["number"][] = array(
                "id"  => $a[$i]['id'],
            );
       }
       header('Content-Type: application/json');
       echo json_encode($search);
```
  • Java

    16212 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • PHP

    24612 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Android

    7427 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • JSON

    1493 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

4 少し修正しました。

NewYork

NewYork score 41

2018/10/11 10:06  投稿

JSONが受け取れない
Android開発をしています。
PHPから、IDだけJSONで送って
JavaでJSONを受け取るようにしているのですが、
なかなかできません。
これまで、何度か同じ様な処理を実装しているのですが
どうしてもidだけが取れないです。何が原因なのか、調べてもわかりません。
どこを修正すれば良いでしょうか...
以下がJSONをエンコードした形です。
```json
{
   "number": [
       {
           "id": "10"
       }
   ]
}
```
そして、下記がJavaのAsyncTaskのコードになります。
```Java
public class Get_IdTask extends AsyncTask<String, String, String> {
   private Activity activity;
   public Get_IdTask(Activity act){
       this.activity = act;
   }
   @Override
   protected void onPreExecute(){
       super.onPreExecute();
   }
   @Override
   protected String doInBackground(String...parameter){
       String word = parameter[0];
       String urls = "JSONを取って来るURL";
       URL url = null;
       HttpURLConnection connection = null;
       OutputStream out = null;
       StringBuilder response = new StringBuilder();
       try{
           url = new URL(urls);
           connection = (HttpURLConnection)url.openConnection();
           connection.setRequestMethod("POST");
           connection.setDoOutput(true);
           connection.setDoInput(true);
           OutputStreamWriter outwriter = new OutputStreamWriter(connection.getOutputStream());
           outwriter.write("id="+word);
           Log.d("LOGLOG",""+word);
           outwriter.flush();
           connection.connect();
           int status = connection.getResponseCode();
           if(status == HttpURLConnection.HTTP_OK){
               InputStream in = connection.getInputStream();
               String encoding = connection.getContentEncoding();
               if(encoding == null){
                   encoding = "UTF-8";
               }
               InputStreamReader inreader = new InputStreamReader(in,encoding);
               BufferedReader bufreader =new BufferedReader(inreader);
               String line = null;
               while((line = bufreader.readLine()) != null){
                   response.append(line);
               }
               bufreader.close();
               inreader.close();
               in.close();
           }else{
               Log.d("LOGLOG",""+status);
           }
       }catch (IOException e){
           e.printStackTrace();
       }finally {
           if(connection != null){
               connection.disconnect();
           }
       }
       return response.toString();
   }
   @Override
   protected void onPostExecute(String result) {
       try{
           JSONObject rootJSON = new JSONObject(result);
           JSONArray spotArray = rootJSON.getJSONArray("number");
           JSONObject detail = spotArray.getJSONObject(0);
           String id = detail.getString("id");
           Intent intent = new Intent(activity, SecondActivity.class);
           intent.putExtra("id",id);
           activity.startActivity(intent);
       }catch (JSONException e){
           Log.d("LOGLOG","Nullです。");
           e.printStackTrace();
       }
   }
}
```
Activityから、任意の文字列をAsyncTaskに渡し、
AsyncTaskからその文字列をPOSTでPHPに送っています。
そして、PHPではその文字を検索して
結果として、検索したレコードのIDを取り
idを違うActivityへ渡すということをしています。
どうしても、JSONExceptionが投げられ
"Nullです。" と、logには出てしまいます。
どこがおかしいのでしょうか。
AsyncTaskでJSONを受け取る実装は何度かしてきましたが
今回ばかりは、調べてもどこが原因なのか検討がつきません。
ご教示いただけましたら、幸いです。
------------------------------------
補足です。
コメントをいただいて、resultの中を見て見ました。
resultの中は、以下のように書かれていました。
```Log
Array(   [0] => Array       (           [id] => 10       )){"number":[{"id":"11"}]}
Array(   [0] => Array       (           [id] => 10       )){"number":[{"id":"10"}]}
```
値は取れていることを確認できたので
あとはJSONのパースで失敗しているのだと思います。
この場合、"10"だけ取得するには、どのようにパースすれば良いのでしょうか。。。
しっかり開発を初めて3ヶ月くらいなので、簡単なことしかわからず。。。
申し訳ございませんが、ご教示のほどよろしくお願いいたします。
  • Java

    16212 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • PHP

    24612 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Android

    7427 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • JSON

    1493 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

3 補足に、resultの中を追記しました。

NewYork

NewYork score 41

2018/10/11 10:06  投稿

JSONが受け取れない
Android開発をしています。
PHPから、IDだけJSONで送って
JavaでJSONを受け取るようにしているのですが、
なかなかできません。
これまで、何度か同じ様な処理を実装しているのですが
どうしてもidだけが取れないです。何が原因なのか、調べてもわかりません。
どこを修正すれば良いでしょうか...
以下がJSONをエンコードした形です。
```json
{
   "number": [
       {
           "id": "10"
       }
   ]
}
```
そして、下記がJavaのAsyncTaskのコードになります。
```Java
public class Get_IdTask extends AsyncTask<String, String, String> {
   private Activity activity;
   public Get_IdTask(Activity act){
       this.activity = act;
   }
   @Override
   protected void onPreExecute(){
       super.onPreExecute();
   }
   @Override
   protected String doInBackground(String...parameter){
       String word = parameter[0];
       String urls = "JSONを取って来るURL";
       URL url = null;
       HttpURLConnection connection = null;
       OutputStream out = null;
       StringBuilder response = new StringBuilder();
       try{
           url = new URL(urls);
           connection = (HttpURLConnection)url.openConnection();
           connection.setRequestMethod("POST");
           connection.setDoOutput(true);
           connection.setDoInput(true);
           OutputStreamWriter outwriter = new OutputStreamWriter(connection.getOutputStream());
           outwriter.write("id="+word);
           Log.d("LOGLOG",""+word);
           outwriter.flush();
           connection.connect();
           int status = connection.getResponseCode();
           if(status == HttpURLConnection.HTTP_OK){
               InputStream in = connection.getInputStream();
               String encoding = connection.getContentEncoding();
               if(encoding == null){
                   encoding = "UTF-8";
               }
               InputStreamReader inreader = new InputStreamReader(in,encoding);
               BufferedReader bufreader =new BufferedReader(inreader);
               String line = null;
               while((line = bufreader.readLine()) != null){
                   response.append(line);
               }
               bufreader.close();
               inreader.close();
               in.close();
           }else{
               Log.d("LOGLOG",""+status);
           }
       }catch (IOException e){
           e.printStackTrace();
       }finally {
           if(connection != null){
               connection.disconnect();
           }
       }
       return response.toString();
   }
   @Override
   protected void onPostExecute(String result) {
       try{
           JSONObject rootJSON = new JSONObject(result);
           JSONArray spotArray = rootJSON.getJSONArray("number");
           JSONObject detail = spotArray.getJSONObject(0);
           String id = detail.getString("id");
           Intent intent = new Intent(activity, SecondActivity.class);
           intent.putExtra("id",id);
           activity.startActivity(intent);
       }catch (JSONException e){
           Log.d("LOGLOG","Nullです。");
           e.printStackTrace();
       }
   }
}
```
Activityから、任意の文字列をAsyncTaskに渡し、
AsyncTaskからその文字列をPOSTでPHPに送っています。
そして、PHPではその文字を検索して
結果として、検索したレコードのIDを取り
idを違うActivityへ渡すということをしています。
どうしても、JSONExceptionが投げられ
"Nullです。" と、logには出てしまいます。
どこがおかしいのでしょうか。
AsyncTaskでJSONを受け取る実装は何度かしてきましたが
今回ばかりは、調べてもどこが原因なのか検討がつきません。
ご教示いただけましたら、幸いです。
ご教示いただけましたら、幸いです。
------------------------------------
補足です。
コメントをいただいて、resultの中を見て見ました。
resultの中は、以下のように書かれていました。
```Log
Array(   [0] => Array       (           [id] => 10       )){"number":[{"id":"11"}]}
```
値は取れていることを確認できたので
あとはJSONのパースで失敗しているのだと思います。
この場合、"10"だけ取得するには、どのようにパースすれば良いのでしょうか。。。
しっかり開発を初めて3ヶ月くらいなので、簡単なことしかわからず。。。
申し訳ございませんが、ご教示のほどよろしくお願いいたします。
  • Java

    16212 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • PHP

    24612 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Android

    7427 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • JSON

    1493 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

2 文言修正

NewYork

NewYork score 41

2018/10/10 23:56  投稿

JSONが受け取れない
Android開発をしています。
PHPから、IDだけJSONで送って
JavaでJSONを受け取るようにしているのですが、
なかなかできません。
これまで、何度か同じ様な処理を実装しているのですが
どうしてもidだけが取れないです。何が原因なのか、調べてもわかりません。
どこを修正すれば良いでしょうか...
以下がJSONをエンコードした形です。
```json
{
   "number": [
       {
           "id": "10"
       }
   ]
}
```
そして、下記がJavaのAsyncTaskのコードになります。
```Java
public class Get_IdTask extends AsyncTask<String, String, String> {
   private Activity activity;
   public Get_IdTask(Activity act){
       this.activity = act;
   }
   @Override
   protected void onPreExecute(){
       super.onPreExecute();
   }
   @Override
   protected String doInBackground(String...parameter){
       String word = parameter[0];
       String urls = "JSONを取って来るURL";
       URL url = null;
       HttpURLConnection connection = null;
       OutputStream out = null;
       StringBuilder response = new StringBuilder();
       try{
           url = new URL(urls);
           connection = (HttpURLConnection)url.openConnection();
           connection.setRequestMethod("POST");
           connection.setDoOutput(true);
           connection.setDoInput(true);
           OutputStreamWriter outwriter = new OutputStreamWriter(connection.getOutputStream());
           outwriter.write("id="+word);
           Log.d("LOGLOG",""+word);
           outwriter.flush();
           connection.connect();
           int status = connection.getResponseCode();
           if(status == HttpURLConnection.HTTP_OK){
               InputStream in = connection.getInputStream();
               String encoding = connection.getContentEncoding();
               if(encoding == null){
                   encoding = "UTF-8";
               }
               InputStreamReader inreader = new InputStreamReader(in,encoding);
               BufferedReader bufreader =new BufferedReader(inreader);
               String line = null;
               while((line = bufreader.readLine()) != null){
                   response.append(line);
               }
               bufreader.close();
               inreader.close();
               in.close();
           }else{
               Log.d("LOGLOG",""+status);
           }
       }catch (IOException e){
           e.printStackTrace();
       }finally {
           if(connection != null){
               connection.disconnect();
           }
       }
       return response.toString();
   }
   @Override
   protected void onPostExecute(String result) {
       try{
           JSONObject rootJSON = new JSONObject(result);
           JSONArray spotArray = rootJSON.getJSONArray("number");
           JSONObject detail = spotArray.getJSONObject(0);
           String id = detail.getString("id");
           Intent intent = new Intent(activity, SecondActivity.class);
           intent.putExtra("id",id);
           activity.startActivity(intent);
       }catch (JSONException e){
           Log.d("LOGLOG","Nullです。");
           e.printStackTrace();
       }
   }
}
```
Activityから、任意の文字列をAsyncTaskに渡し、
AsyncTaskからその文字列をPOSTでPHPに送っています。
そして、PHPではその文字を検索して
結果として、検索したレコードのIDを取り
idを違うActivityへ渡すということをしています。
どうしても、JSONExceptionが投げられ
"Nullです。" と、logには出てしまいます。
どこがおかしいのでしょうか。
AsyncTaskでJSONを受け取る実装は何度かしてきましたが
今回ばかりは、検討がつきません。
今回ばかりは、調べてもどこが原因なのか検討がつきません。
ご教示いただけましたら、幸いです。
  • Java

    16212 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • PHP

    24612 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Android

    7427 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • JSON

    1493 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

1 修正

NewYork

NewYork score 41

2018/10/10 23:54  投稿

JSONが受け取れない
Android開発をしています。
PHPから、IDだけJSONで送って
JavaでJSONを受け取るようにしているのですが、
なかなかできません。
これまで、何度か同じ様な処理を実装しているのですが
どうしてもidだけが取れないです。何が原因なのか、調べてもわかりません。
何が原因でしょうか...
どこを修正すれば良いでしょうか...
以下がJSONをエンコードした形です。
```json
{
   "number": [
       {
           "id": "10"
       }
   ]
}
```
そして、下記がJavaのAsyncTaskのコードになります。
```Java
public class Get_IdTask extends AsyncTask<String, String, String> {
   private Activity activity;
   public Get_IdTask(Activity act){
       this.activity = act;
   }
   @Override
   protected void onPreExecute(){
       super.onPreExecute();
   }
   @Override
   protected String doInBackground(String...parameter){
       String word = parameter[0];
       String urls = "JSONを取って来るURL";
       URL url = null;
       HttpURLConnection connection = null;
       OutputStream out = null;
       StringBuilder response = new StringBuilder();
       try{
           url = new URL(urls);
           connection = (HttpURLConnection)url.openConnection();
           connection.setRequestMethod("POST");
           connection.setDoOutput(true);
           connection.setDoInput(true);
           OutputStreamWriter outwriter = new OutputStreamWriter(connection.getOutputStream());
           outwriter.write("id="+word);
           Log.d("LOGLOG",""+word);
           outwriter.flush();
           connection.connect();
           int status = connection.getResponseCode();
           if(status == HttpURLConnection.HTTP_OK){
               InputStream in = connection.getInputStream();
               String encoding = connection.getContentEncoding();
               if(encoding == null){
                   encoding = "UTF-8";
               }
               InputStreamReader inreader = new InputStreamReader(in,encoding);
               BufferedReader bufreader =new BufferedReader(inreader);
               String line = null;
               while((line = bufreader.readLine()) != null){
                   response.append(line);
               }
               bufreader.close();
               inreader.close();
               in.close();
           }else{
               Log.d("LOGLOG",""+status);
           }
       }catch (IOException e){
           e.printStackTrace();
       }finally {
           if(connection != null){
               connection.disconnect();
           }
       }
       return response.toString();
   }
   @Override
   protected void onPostExecute(String result) {
       try{
           JSONObject rootJSON = new JSONObject(result);
           JSONArray spotArray = rootJSON.getJSONArray("number");
           JSONObject detail = spotArray.getJSONObject(0);
           String id = detail.getString("id");
           Intent intent = new Intent(activity, SecondActivity.class);
           intent.putExtra("id",id);
           activity.startActivity(intent);
       }catch (JSONException e){
           Log.d("LOGLOG","Nullです。");
           e.printStackTrace();
       }
   }
}
```
Activityから、任意の文字列をAsyncTaskに渡し、
AsyncTaskからその文字列をPOSTでPHPに送っています。
そして、PHPではその文字を検索して
結果として、検索したレコードのIDを取り
idを違うActivityへ渡すということをしています。
どうしても、JSONExceptionが投げられ
"Nullです。" と、logには出てしまいます。
どこがおかしいのでしょうか。
AsyncTaskでJSONを受け取る実装は何度かしてきましたが
今回ばかりは、検討がつきません。
ご教示いただけましたら、幸いです。
  • Java

    16212 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • PHP

    24612 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Android

    7427 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • JSON

    1493 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る