Java 响应为JSON(改型&x2B;Android&x2B;PHP Slim框架)

Java 响应为JSON(改型&x2B;Android&x2B;PHP Slim框架),java,php,android,retrofit,slim,Java,Php,Android,Retrofit,Slim,我正在使用PHP Slim框架为Android应用程序构建RESTAPI 我在应用程序中发布body,它运行良好,并向MySQL添加数据。但我在回应上有困难 我的响应JSON模型很简单 {success:'yes'} 当我尝试在添加数据后获得响应时,改型工作在失败方法上。但添加数据效果良好。我不知道我错过了什么。这是我的密码 PHP Slim框架文件 $response->withHeader('Content-Type', 'application/json'); $respo

我正在使用PHP Slim框架为Android应用程序构建RESTAPI

我在应用程序中发布body,它运行良好,并向MySQL添加数据。但我在回应上有困难

我的响应JSON模型很简单

{success:'yes'}
当我尝试在添加数据后获得响应时,改型工作在失败方法上。但添加数据效果良好。我不知道我错过了什么。这是我的密码

PHP Slim框架文件

$response->withHeader('Content-Type', 'application/json');
    $response->getBody()->write("{success:'yes'}");
    return $response;

} catch (PDOException $e) {
    echo '{"error": {"text": ' . $e->getMessage() . '}';
}
Android响应模型

public class Response_Success {

@SerializedName("success")
@Expose
String success;

public Response_Success(String success) {
    this.success = success;
}

public String getSuccess() {
    return success;
}

public void setSuccess(String success) {
    this.success = success;
}
接口类

public interface API_Service {
@Headers("content-type: application/json")
@POST("api/user/add")
Call<Response_Success> addFacebookUser(@Body UserFacebook userFacebook);}
公共接口API\u服务{
@标题(“内容类型:application/json”)
@POST(“api/用户/添加”)
调用addFacebookUser(@Body UserFacebook UserFacebook);}
MainActivity中的API调用

API_Service service = Client.getRetrofitInstance().create(API_Service.class);

        Call<Response_Success> userFacebookCall = service.addFacebookUser(userNew);

        userFacebookCall.enqueue(new Callback<Response_Success>() {
            @Override
            public void onResponse(Call<Response_Success> call, Response<Response_Success> response) {
                Toast.makeText(MainActivity.this, ""+response.body().getSuccess(), Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onFailure(Call<Response_Success> call, Throwable t) {
                Toast.makeText(MainActivity.this, "was wrong", Toast.LENGTH_SHORT).show();
            }
        });
API\u Service Service=Client.getinstance().create(API\u Service.class);
Call userFacebookCall=service.addFacebookUser(userNew);
userFacebookCall.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
Toast.makeText(MainActivity.this,“+response.body().getSuccess(),Toast.LENGTH_SHORT.show();
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
Toast.makeText(MainActivity.this,“是错误的”,Toast.LENGTH_SHORT.show();
}
});
android studio中的调试模式;我得到了MaltFormedJsonException,但我在try catch中添加了该异常。

您的Json响应

{成功:'yes'}

这是无效的。键和(字符串)值必须在双引号中

请确保您的回答使用双引号:

{“成功”:“是”}

或者试试这个:

$response = array();
$response["success"] = "yes";
echo json_encode($response);
注意:您可以在以下位置检查任何JSON字符串是否有效: 或

您可以使用JSON(数组('success'=>'yes'))执行-
返回$response->()很好的选择,非常感谢!