繁体   English   中英

如何将laravel解析为json,并从android接收

[英]how to parse laravel to json, and receive it from android

您好,我想知道如何将我的Laravel基本Web服务连接到我的Android应用程序? 目前,我尝试使用本机代码和laravel代码。 而且我设法从本地php获取json。 但是当我在Laravel中尝试它时,它返回了相同的json但无法在Android中接收它,该错误说明了Doctype

对于控制器中的Laravel

    public function jsonview()
{
    $data2  =DB::table('item_list')->orderBy('id','desc')->get();
    $response = array();
    $response["status"] =1;
    $response["message"] = "getting data";
    $response["data"]=array();
    //$response["data"] = $data2;
    //or with
    foreach ($data2 as $data2) {
        $datas = array();
        //echo "lol";
        $datas["nama_item"] = $data2->nama_item;
        $datas["description"] = $data2->description;
        $datas["price"] = $data2->harga;
        $data = DB::table('users')->where("id","=",$data2->seller)->first();
        $datas["seller"] = $data->firstname;
        $datas["picture"] = $data2->pic_name;
        array_push($response["data"], $datas);
    }
    //dd(Request::json()->get('data'));

    return Response()->json(['data'=>$response["data"]]);
}

在Android中返回错误

它一直在接收

Value <!DOCTYPE 

这是完整的错误代码

04-21 21:38:06.541 14436-14514/skyvity.belisini E/JSON Parser: Error Parsing data org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot be converted to JSONObject

我目前的Android,可以在本机php中运行,但在Laravel中无法接收

package skyvity.belisini.Controller;

import android.util.Log;
import android.widget.Toast;

import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

import skyvity.belisini.Config.JSONParser;

/**
 * Created by Wilztan on 4/20/2016.
 */
public class ItemController {

//Listing Home
public  static JSONArray jsonArray= null;
public static ArrayList<String> Item = new ArrayList<String>();
public static ArrayList<String> desc = new ArrayList<String>();
public static ArrayList<String> price = new ArrayList<String>();
public static ArrayList<String> seller = new ArrayList<String>();
public static ArrayList<String> picture = new ArrayList<String>();

public static void list_item(){
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    JSONParser jsonParser= new JSONParser();
    JSONObject object jsonParser.request(JSONParser.base_url+"json",params);
    try {
        if(object.getJSONArray("data")==null){
            Log.v("not Failed in here","NULL JSON");
        }
        jsonArray = object.getJSONArray("data");
        Log.v("not Failed in here",jsonArray.toString());
        for(int i=0;i<jsonArray.length();i++){
            Log.v("notFailed here","Lol");
            JSONObject jsonObject = jsonArray.getJSONObject(i);
            Item.add(jsonObject.getString("nama_item"));
            desc.add(jsonObject.getString("description"));
            price.add(jsonObject.getString("price"));
            seller.add(jsonObject.getString("seller"));
            picture.add(jsonObject.getString("picture"));
        }
    }catch (JSONException e){
        e.printStackTrace();
        Log.v("LOL" , e.toString());
    }
}}

:D

发生这种情况可能是因为您的代码显示了错误页面。 它是HTML页面,当然它的开头包含DOCTYPE。

只需检查您的日志中的错误并进行修复即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM