簡體   English   中英

無法解析有效的JSON

[英]Unable to parse a valid JSON

我的api使用PHP Silex發送回這樣的JSON響應:

{"response":true,"message":"Bla","userId":"AAA"}

但我不能在我的Typescript前端解析它

this.authService.login(body).then((result : any)  => {
    console.log(result.data); // => {"response":true,"message":"Bla","userId":"AAA"}         
    let parsed = JSON.parse(result.data);
    console.log(parsed.message); // => throws  "SyntaxError: Unexpected token in JSON at position 0\n at JSON.parse (<anonymous>)

我的PHP端點使用PHP和Silex Framework:

$app->post('/user/login', function (Request $request) use ($app, $config) {
    $email = $request->request->get('user-email');
    $password = $request->request->get('user-password');
    $rsp = loginUser($email,$password);
    return $app->json($rsp);
});

當嘗試將json對象硬編碼為代碼時,它會解析!

更新解決方案我必須使用trim()for result.data來刪除空格,有些響應帶有空格,而JSON不喜歡這樣。 感謝大家的幫助。

我使用result.data.trim()來工作,不知何故響應有空格而JSON不喜歡它。

你的PHP代碼可能有一個\ char。

從PHP獲取后,嘗試從JSON字符串中刪除這些字符:

this.authService.login(body).then((result : any)  => {
    string = result.data.replace("\u0000", "");
    string = string.replace("\\u0000", "");
    let parsed = JSON.parse(string);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM