if判断一下输出的值,根据不同的数据结果输出不同的$json后再json_encode

解决方案 »

  1.   

    判断了,空的话我就让它为空数组$a=array();
      

  2.   

    不需要替换的,你用java的json进行解析后就是个数组,直接判断就好了。闪退的原因是因为你没有对空对象传递进行屏蔽导致程序致命错误直接闪退,是代码不严谨导致,跟json的括号没关系。
      

  3.   

    当然你也可以做一下类型转换(不过使用时不判空总是不行的)$a = array(
     'b' => (object)array(),
     'c' => array(),
    );echo json_encode($a);
    {"b":{},"c":[]}
      

  4.   

    建议你返回json的时候最外层用对象,这样json_encode之后就是{};$rst = new stdClass();
    echo json_encode($rst);$rst->code = 200;
    $rst->errormessage = "操作成功";
    $rst->data = array( 'name' => '张三');
    echo json_encode($rst);
      

  5.   

    如何对空的进行屏蔽,很多数据都是空呀
    个人觉得你们的json输出需要有一个统一的出口,这样就输出结果进行统一的控制
      

  6.   

    如何对空的进行屏蔽,很多数据都是空呀你要交给androidJava的去做这个工作,如果你是写android那你肯定知道怎么屏蔽,如果你只是写接口的那就需要根据需求去规范输出对应的数据。