首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将随机字符串解析为对象javascript

如何将随机字符串解析为对象javascript
EN

Stack Overflow用户
提问于 2022-09-02 11:12:09
回答 2查看 37关注 0票数 0

所以我在'user.name.firstName=Anatoliy&user.name.lastName=Klimov&user.vip=true'下面有一个字符串

我必须把它解析成看起来像

代码语言:javascript
复制
{
"user": {
  "name": {
    "firstname": "",
    "lastname": ""
 {
  "vip": true
 }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-09-02 11:19:49

这里有个方法

代码语言:javascript
复制
const data = 'user.name.firstName=Anatoliy&user.name.lastName=Klimov&user.vip=true';

const constructObject = (str) => {
    const paths = str.split('&');
    const result = {};

    paths.forEach((path) => {
        const [keyStr, value] = path.split('=');
        const keys = keyStr.split('.');

        let current = result;
        for (let i = 0; i < keys.length - 1; i++) {
            if (!current[keys[i]]) {
                current[keys[i]] = {};
            }
            current = current[keys[i]];
        }
        current[keys.pop()] = value;
    });
    return result;
};

console.log(constructObject(data));

票数 0
EN

Stack Overflow用户

发布于 2022-09-02 11:22:08

有一个函数JSON.parse()可以将字符串转换为对象。

您可以在网上搜索如何设置此函数的字符串格式,但下面有一个可能会有所帮助的示例。

代码语言:javascript
复制
var thestring = '{"Name":"Jon Doe","Email":"jon@doe.com","Address":"123 Doe Street"}'
var theobj = JSON.parse(thestring);

其结果是:

代码语言:javascript
复制
{
    Name: "Jon Doe",
    Email: "jon@doe.com",
    Address: "123 Doe Street"
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73581673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档