com.google.gson.stream.MalformedJsonException

时间:2017-07-05 14:21:26

标签: java php android

我正在尝试使用改造将图像上传到本地服务器。下面是我的PHP代码。

<?php

require 'init.php';

if ($con) {

  $title = $_POST['title'];
  $image = $_POST['image'];

  $upload_path = "uploads/$title.jpg";

  $sql = "insert into imageinfo(title,path) values('$title', '$upload_path');";

  if (mysqli_query($con, $sql)) {

    file_put_contents($upload_path, base64_decode($image));
    echo json_encode(array('response' => "Image uploaded successfully."));
  } else {
    echo json_encode(array('response' => "Error! Image is not uploaded."));
  } 

  mysqli_close($con);

} 

?>

但我收到如下错误: com.google.gson.stream.MalformedJsonException使用JsonReader.setLenient(true)接受第1行第1行路径$ <的格式错误的JSON /强>

然后我在初始化retrofit的类中添加了以下代码。

Gson gson = new GsonBuilder().setLenient().create();
retrofit = new Retrofit.Builder().baseUrl(BASE_URL).addConverterFactory(GsonConverterFactory.create(gson)).build();

现在我收到以下错误: com.google.gson.JsonSyntaxException:java.lang.illegalStateException:预期BEGIN_OBJECT但在第1行第1行STRING

那里有什么不对? php代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

Gson gson = new GsonBuilder().setLenient(true).create();

试试这个。