Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.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
Java 字节[]到字符串的转换_Java_Php_Gearman - Fatal编程技术网

Java 字节[]到字符串的转换

Java 字节[]到字符串的转换,java,php,gearman,Java,Php,Gearman,嗨 我使用Gearman处理PHP和java之间的通信。我正在尝试使用json_编码从PHP向java worker发送数组。 在php端: public function test() { $test = $this->serviceManager->get('test\Model\test'); //print_r($test);exit; $message = array( 'to' => 'abhi',

我使用Gearman处理PHP和java之间的通信。我正在尝试使用json_编码从PHP向java worker发送数组。 在php端:

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));
}
在java端:

@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;
}
现在我得到的json值如图所示,如“{\”to\”:“abhi\”,“message\”:“这是一个测试\“}”。有人能帮忙吗

目前,我正在使用此代码修复此问题

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);
然后我得到的答案是:

Hiii, 我得到了答案,在使用json_编码后,我将数组发送给gearman,结果证明直接发送给它是有效的

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);
}

数据有什么问题?请参阅调试器中的突出显示文本。。。我已经更新了文本。为什么要使用
String.valueOf(json)
?json已经是一个字符串了!
jsonObject
看起来怎么样?好的,我删除了它,但答案还是一样的