Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php eclipse中json解析器出错_Php_Android_Json_Web Applications - Fatal编程技术网

Php eclipse中json解析器出错

Php eclipse中json解析器出错,php,android,json,web-applications,Php,Android,Json,Web Applications,我正在制作一个andriod应用程序,它在本地主机php数据库上执行CRUD操作 这是我的代码和日志猫。请帮助修复错误 JSONParser.java package com.example.androidhive; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Unsu

我正在制作一个andriod应用程序,它在本地主机php数据库上执行CRUD操作 这是我的代码和日志猫。请帮助修复错误

JSONParser.java

package com.example.androidhive;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;

import android.util.Log;

public class JSONParser {

    static InputStream is = null;
    static JSONObject jObj = null;
    static String json = "";

    // constructor
    public JSONParser() {

    }

    // function get json from url
    // by making HTTP POST or GET mehtod
    public JSONObject makeHttpRequest(String url, String method,
            List<NameValuePair> params) {

        // Making HTTP request
        try {

            // check for request method
            if(method == "POST"){
                // request method is POST
                // defaultHttpClient
                DefaultHttpClient httpClient = new DefaultHttpClient();
                HttpPost httpPost = new HttpPost(url);
                httpPost.setEntity(new UrlEncodedFormEntity(params));

                HttpResponse httpResponse = httpClient.execute(httpPost);
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();

            }else if(method == "GET"){
                // request method is GET
                DefaultHttpClient httpClient = new DefaultHttpClient();
                String paramString = URLEncodedUtils.format(params, "utf-8");
                url += "?" + paramString;
                HttpGet httpGet = new HttpGet(url);

                HttpResponse httpResponse = httpClient.execute(httpGet);
                HttpEntity httpEntity = httpResponse.getEntity();
                is = httpEntity.getContent();
            }           


        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(
                    is, "iso-8859-1"), 8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
            }
            is.close();
            json = sb.toString();
        } catch (Exception e) {
            Log.e("Buffer Error", "Error converting result " + e.toString());
        }

        // try parse the string to a JSON object
        try {
            jObj = new JSONObject(json);
        } catch (JSONException e) {
            Log.e("JSON Parser", "Error parsing data " + e.toString());
        }

        // return JSON String
        return jObj;

    }
}
package com.example.androidhive;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.UnsupportedEncodingException;
导入java.util.List;
导入org.apache.http.HttpEntity;
导入org.apache.http.HttpResponse;
导入org.apache.http.NameValuePair;
导入org.apache.http.client.ClientProtocolException;
导入org.apache.http.client.entity.UrlEncodedFormEntity;
导入org.apache.http.client.methods.HttpGet;
导入org.apache.http.client.methods.HttpPost;
导入org.apache.http.client.utils.URLEncodedUtils;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.util.Log;
公共类JSONParser{
静态InputStream为空;
静态JSONObject jObj=null;
静态字符串json=“”;
//建造师
公共JSONParser(){
}
//函数从url获取json
//通过使用HTTP POST或GET方法
公共JSONObject makeHttpRequest(字符串url、字符串方法、,
列表参数){
//发出HTTP请求
试一试{
//检查请求方法
如果(方法==“POST”){
//请求方法为POST
//defaultHttpClient
DefaultHttpClient httpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(url);
setEntity(新的UrlEncodedFormEntity(参数));
HttpResponse HttpResponse=httpClient.execute(httpPost);
HttpEntity HttpEntity=httpResponse.getEntity();
is=httpEntity.getContent();
}else if(方法==“GET”){
//请求方法是GET
DefaultHttpClient httpClient=新的DefaultHttpClient();
String paramString=URLEncodedUtils.format(params,“utf-8”);
url+=“?”+参数字符串;
HttpGet HttpGet=新的HttpGet(url);
HttpResponse HttpResponse=httpClient.execute(httpGet);
HttpEntity HttpEntity=httpResponse.getEntity();
is=httpEntity.getContent();
}           
}捕获(不支持的编码异常e){
e、 printStackTrace();
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
试一试{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(
is,“iso-8859-1”),8);
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
is.close();
json=sb.toString();
}捕获(例外e){
Log.e(“缓冲区错误”,“错误转换结果”+e.toString());
}
//尝试将字符串解析为JSON对象
试一试{
jObj=新的JSONObject(json);
}捕获(JSONException e){
Log.e(“JSON解析器”,“错误解析数据”+e.toString());
}
//返回JSON字符串
返回jObj;
}
}
而原木猫是

03-12 12:43:57.924: W/KeyCharacterMap(278): No keyboard for id 0
03-12 12:43:57.924: W/KeyCharacterMap(278): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
03-12 12:44:15.164: D/dalvikvm(278): GC_FOR_MALLOC freed 2568 objects / 144968 bytes in 197ms
03-12 12:44:19.394: D/dalvikvm(278): GC_FOR_MALLOC freed 425 objects / 203056 bytes in 44ms
03-12 12:44:23.594: W/System.err(278): org.apache.http.NoHttpResponseException: The target server failed to respond
03-12 12:44:23.594: W/System.err(278):  at org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:85)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:179)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:235)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:259)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:279)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:410)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
03-12 12:44:23.624: W/System.err(278):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
03-12 12:44:23.634: W/System.err(278):  at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
03-12 12:44:23.634: W/System.err(278):  at com.example.androidhive.JSONParser.makeHttpRequest(JSONParser.java:51)
03-12 12:44:23.634: W/System.err(278):  at com.example.androidhive.NewProductActivity$CreateNewProduct.doInBackground(NewProductActivity.java:95)
03-12 12:44:23.634: W/System.err(278):  at com.example.androidhive.NewProductActivity$CreateNewProduct.doInBackground(NewProductActivity.java:1)
03-12 12:44:23.634: W/System.err(278):  at android.os.AsyncTask$2.call(AsyncTask.java:185)
03-12 12:44:23.634: W/System.err(278):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-12 12:44:23.634: W/System.err(278):  at java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-12 12:44:23.634: W/System.err(278):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
03-12 12:44:23.634: W/System.err(278):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
03-12 12:44:23.645: W/System.err(278):  at java.lang.Thread.run(Thread.java:1096)
03-12 12:44:23.645: E/Buffer Error(278): Error converting result java.lang.NullPointerException
03-12 12:44:23.645: E/JSON Parser(278): Error parsing data org.json.JSONException: End of input at character 0 of 
03-12 12:44:23.645: W/dalvikvm(278): threadid=7: thread exiting with uncaught exception (group=0x4001d800)
03-12 12:44:23.664: E/AndroidRuntime(278): FATAL EXCEPTION: AsyncTask #1
03-12 12:44:23.664: E/AndroidRuntime(278): java.lang.RuntimeException: An error occured while executing doInBackground()
03-12 12:44:23.664: E/AndroidRuntime(278):  at android.os.AsyncTask$3.done(AsyncTask.java:200)
03-12 12:44:23.664: E/AndroidRuntime(278):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
03-12 12:44:23.664: E/AndroidRuntime(278):  at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
03-12 12:44:23.664: E/AndroidRuntime(278):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
03-12 12:44:23.664: E/AndroidRuntime(278):  at java.util.concurrent.FutureTask.run(FutureTask.java:137)
03-12 12:44:23.664: E/AndroidRuntime(278):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
03-12 12:44:23.664: E/AndroidRuntime(278):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
03-12 12:44:23.664: E/AndroidRuntime(278):  at java.lang.Thread.run(Thread.java:1096)
03-12 12:44:23.664: E/AndroidRuntime(278): Caused by: java.lang.NullPointerException
03-12 12:44:23.664: E/AndroidRuntime(278):  at com.example.androidhive.NewProductActivity$CreateNewProduct.doInBackground(NewProductActivity.java:99)
03-12 12:44:23.664: E/AndroidRuntime(278):  at com.example.androidhive.NewProductActivity$CreateNewProduct.doInBackground(NewProductActivity.java:1)
03-12 12:44:23.664: E/AndroidRuntime(278):  at android.os.AsyncTask$2.call(AsyncTask.java:185)
03-12 12:44:23.664: E/AndroidRuntime(278):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
03-12 12:44:23.664: E/AndroidRuntime(278):  ... 4 more
03-12 12:44:24.354: E/WindowManager(278): Activity com.example.androidhive.NewProductActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@45f60fc0 that was originally added here
03-12 12:44:24.354: E/WindowManager(278): android.view.WindowLeaked: Activity com.example.androidhive.NewProductActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@45f60fc0 that was originally added here
03-12 12:44:24.354: E/WindowManager(278):   at android.view.ViewRoot.<init>(ViewRoot.java:247)
03-12 12:44:24.354: E/WindowManager(278):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)
03-12 12:44:24.354: E/WindowManager(278):   at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
03-12 12:44:24.354: E/WindowManager(278):   at android.view.Window$LocalWindowManager.addView(Window.java:424)
03-12 12:44:24.354: E/WindowManager(278):   at android.app.Dialog.show(Dialog.java:241)
03-12 12:44:24.354: E/WindowManager(278):   at com.example.androidhive.NewProductActivity$CreateNewProduct.onPreExecute(NewProductActivity.java:76)
03-12 12:44:24.354: E/WindowManager(278):   at android.os.AsyncTask.execute(AsyncTask.java:391)
03-12 12:44:24.354: E/WindowManager(278):   at com.example.androidhive.NewProductActivity$1.onClick(NewProductActivity.java:56)
03-12 12:44:24.354: E/WindowManager(278):   at android.view.View.performClick(View.java:2408)
03-12 12:44:24.354: E/WindowManager(278):   at android.view.View$PerformClick.run(View.java:8816)
03-12 12:44:24.354: E/WindowManager(278):   at android.os.Handler.handleCallback(Handler.java:587)
03-12 12:44:24.354: E/WindowManager(278):   at android.os.Handler.dispatchMessage(Handler.java:92)
03-12 12:44:24.354: E/WindowManager(278):   at android.os.Looper.loop(Looper.java:123)
03-12 12:44:24.354: E/WindowManager(278):   at android.app.ActivityThread.main(ActivityThread.java:4627)
03-12 12:44:24.354: E/WindowManager(278):   at java.lang.reflect.Method.invokeNative(Native Method)
03-12 12:44:24.354: E/WindowManager(278):   at java.lang.reflect.Method.invoke(Method.java:521)
03-12 12:44:24.354: E/WindowManager(278):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-12 12:44:24.354: E/WindowManager(278):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-12 12:44:24.354: E/WindowManager(278):   at dalvik.system.NativeStart.main(Native Method)
03-12 12:43:57.924:W/KeyCharacterMap(278):id 0没有键盘
03-12:43:57.924:W/KeyCharacterMap(278):使用默认keymap:/system/usr/keychars/qwerty.kcm.bin
03-12:44:15.164:D/dalvikvm(278):GC_FOR_MALLOC在197ms内释放了2568个对象/144968字节
03-12:44:19.394:D/dalvikvm(278):GC_FOR_MALLOC在44ms内释放了425个对象/203056个字节
03-12 12:44:23.594:W/System.err(278):org.apache.http.NoHttpResponseException:目标服务器未能响应
03-12:44:23.594:W/System.err(278):位于org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:85)
03-12:44:23.624:W/System.err(278):位于org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:174)
03-12:44:23.624:W/System.err(278):位于org.apache.http.impl.AbstractHttpClientConnection.ReceiverResponseHeader(AbstractHttpClientConnection.java:179)
03-12:44:23.624:W/System.err(278):位于org.apache.http.impl.conn.DefaultClientConnection.ReceiverResponseHeader(DefaultClientConnection.java:235)
03-12:44:23.624:W/System.err(278):位于org.apache.http.impl.conn.AbstractClientConnAdapter.ReceiverResponseHeader(AbstractClientConnAdapter.java:259)
03-12:44:23.624:W/System.err(278):位于org.apache.http.protocol.HttpRequestExecutor.doReceiverResponse(HttpRequestExecutor.java:279)
03-12:44:23.624:W/System.err(278):位于org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:121)
03-12:44:23.624:W/System.err(278):位于org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:410)
03-12:44:23.624:W/System.err(278):位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
03-12:44:23.624:W/System.err(278):位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
03-12:44:23.634:W/System.err(278):位于org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
03-12:44:23.634:W/System.err(278):位于com.example.androidhive.JSONParser.makeHttpRequest(JSONParser.java:51)
03-12:44:23.634:W/System.err(278):位于com.example.androidhive.NewProductActivity$CreateNewProduct.doInBackground(NewProductActivity.java:95)
03-12:44:23.634:W/System.err(278):位于com.example.androidhive.NewProductActivity$CreateNewProduct.doInBackground(NewProductActivity.java:1)
03-12:44:23.634:W/System.err(278):位于android.os.AsyncTask$2.call(AsyncTask.java:185)
03-12:44:23.634:W/System.err(278):位于java.util.concurrent.Futu