Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.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列表对象到java arraylist对象_Java_Php_Json - Fatal编程技术网

Php列表对象到java arraylist对象

Php列表对象到java arraylist对象,java,php,json,Java,Php,Json,我正在尝试使用php从数据库中获取数据,并使用json将其发送到java。使用java,我想从arraylist中检索json值。该arrayList将包含Fruit对象。但在我的代码中,我在arraylist中获取值,arraylist包含LinkedHashMap而不是fruit对象。如何更改php代码,以便在java端获得ArrayList fruitList=newArrayList等值 <?php require("phpfunc.fns"); include('

我正在尝试使用php从数据库中获取数据,并使用json将其发送到java。使用java,我想从arraylist中检索json值。该arrayList将包含Fruit对象。但在我的代码中,我在arraylist中获取值,arraylist包含LinkedHashMap而不是fruit对象。如何更改php代码,以便在java端获得ArrayList fruitList=newArrayList等值

<?php
    require("phpfunc.fns");
    include('Fruit.php');
    sqlconnect();

    $data = array();
    $fruit = new Fruit();
    $sql="select * from fruit";         
    $result=mysql_query( $sql);
    $count = 0;

    while( $r=mysql_fetch_array($result) ){
        //echo $r['lati'].",". $r['longi'] ;
        $fruit->setFruitId($r['fruitId']);
        $fruit->setAvailable($r['available']);

        $data[$count] = $fruit;
        $count++;
    }
    echo json_encode($data);

?>

  //java code
public void decodeUsingGSON(String json){
        Gson gson = new Gson();
        ArrayList fruitList = gson.fromJson(json, ArrayList.class);

        for(int i=0; i<fruitList.size(); i++){
            Fruit fruit = (Fruit) fruitList.get(i);
            System.out.println(fruit.getAvailable());
        }
    }
你应该仔细阅读这本书。它描述了如何使用。假设JSON格式正确,以下内容应该适用于您:

final Type collectionType = new TypeToken<Collection<Fruit>>(){}.getType();
final Collection<Fruit> fruits = gson.fromJson(json, collectionType);

for(final Fruit fruit; fruits) {
    System.out.println(fruit.getAvailable());
}