dongtuan5367 2014-11-28 07:09
浏览 41
已采纳

byte []到字符串转换

Hiii,

I am using Gearman to handle communication between PHP and java. I am trying to send array from PHP using json_encode to java worker. At php Side:

public function test()
{
    $test = $this->serviceManager->get('test\Model\test');
    //print_r($test);exit;
    $message = array(
        'to'        =>  'abhi',
        'message'   =>  'this is a test',
    );
    $test->sendtoJavaWorker(json_encode($message));
}

At java side:

@Override
public byte[] work(String function, byte[] data, GearmanFunctionCallback callback) throws Exception {

    String json = new String(data, "UTF-8");

    JSONObject jsonObject = new JSONObject(String.valueOf(json)); 

    String to = (String) jsonObject.get("to");

    return data;
}

Now I am getting json value as shown in picture like ""{\"to\":\"abhi\",\"message\":\"this is a test\"}"". Can someone help.

enter image description here

For time being, I m fixing this by using this code

String json = new String(data);
    json = json.toString().replace("\\", "");
    StringBuilder sb = new StringBuilder(json);
    sb.deleteCharAt(0);
    sb.deleteCharAt(sb.length()-1);
    json = sb.toString();

    System.out.println(json);

And then I am getting answer like:

enter image description here

  • 写回答

1条回答 默认 最新

  • dqphg40600 2014-11-28 08:18
    关注

    Hiii, I got the answer, I was sending array after using json_encode to gearman, turns out sending directly to it worked.

    public function test()
    {
        $test = $this->serviceManager->get('test\Model\test');
        //print_r($test);exit;
        $message = array(
            'to'        =>  'abhi',
            'message'   =>  'this is a test',
        );
        $test->sendtoJavaWorker($message);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路