提取属性

时间:2018-08-11 20:18:19

标签: json reactjs properties extract

好的,我有这个json对象。我将其添加到本地存储

.net和React。

localStorage.setItem('user', JSON.stringify(user));

我需要提取auth_token:

"{\n  \"id\": \"24625a45-5079-46be-8241-481661d747e9\",\n  \"auth_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0QGdtYWlsLmNvbSIsImp0aSI6IjdkMjVlNjRmLTM1YzQtNDMzMi04NWQyLTNhYzlhNTFiZTBiYyIsImlhdCI6MTUzNDAxODUxMSwicm9sIjoiYXBpX2FjY2VzcyIsImlkIjoiMjQ2MjVhNDUtNTA3OS00NmJlLTgyNDEtNDgxNjYxZDc0N2U5IiwibmJmIjoxNTM0MDE4NTEwLCJleHAiOjE1MzQwNDAxMTAsImlzcyI6IndlYkFwaSIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC8ifQ.Gmtft6TGYxFkc9r0GHqr7ed4ntZwa3kVfb2WJ9M8aBI\",\n  \"expires_in\": 21600\n}"

我如何提取它?

我使用user.auth_token。这是行不通的。

刷新,任何人都知道如何解决此类问题。


这是解决方法:

export function authHeader() {
    // return authorization header with jwt token
    const user = JSON.parse(localStorage.getItem('user'));
    const userparsed = JSON.parse(user)

        return { 'Authorization': 'Bearer ' + userparsed.auth_token };
}

1 个答案:

答案 0 :(得分:1)

当您从localStorage读回它时,您将需要像这样将字符串解析为JSON

const stringFromLocalStorage = "{\n  \"id\": \"24625a45-5079-46be-8241-481661d747e9\",\n  \"auth_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ0ZXN0QGdtYWlsLmNvbSIsImp0aSI6IjdkMjVlNjRmLTM1YzQtNDMzMi04NWQyLTNhYzlhNTFiZTBiYyIsImlhdCI6MTUzNDAxODUxMSwicm9sIjoiYXBpX2FjY2VzcyIsImlkIjoiMjQ2MjVhNDUtNTA3OS00NmJlLTgyNDEtNDgxNjYxZDc0N2U5IiwibmJmIjoxNTM0MDE4NTEwLCJleHAiOjE1MzQwNDAxMTAsImlzcyI6IndlYkFwaSIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6NTAwMC8ifQ.Gmtft6TGYxFkc9r0GHqr7ed4ntZwa3kVfb2WJ9M8aBI\",\n  \"expires_in\": 21600\n}";


const user = JSON.parse(stringFromLocalStorage);

console.log(user.auth_token);

就您而言,

localStorage.setItem('user', JSON.stringify(user));
const fetchedUser = JSON.parse(localStorage.getItem('user'));
console.log('Auth Token', fetchedUser.auth_token);