Javascript 将数据转换为类似于JSON的字符串

Javascript 将数据转换为类似于JSON的字符串,javascript,html,optimization,local-storage,Javascript,Html,Optimization,Local Storage,有没有更好的方法来实现下面的代码 <form id="myform" onsubmit="return saveUserData('firstname','lastname');" method="post"> 函数saveUserData(){ createJSONString(参数); 返回false; } 函数createJSONString(参数){ var userDetails=“{”; 对于(i=0;i

有没有更好的方法来实现下面的代码

<form id="myform" onsubmit="return saveUserData('firstname','lastname');" method="post">

函数saveUserData(){ createJSONString(参数); 返回false; } 函数createJSONString(参数){ var userDetails=“{”; 对于(i=0;i 基本上,函数saveUserData是从表单提交按钮调用的。因此,我们的想法是将参数传递给函数,并创建一个类似JSON的字符串,这样我就可以将其存储在Chrome和Firefox的localStorage变量中。我们的想法是不会使OCP失败,因为将来如果我们添加中间名,JavaScript代码只需更改HT即可ML将会改变。 有没有更好的方法来实现这一点


谢谢

您可以使用JSON.stringify方法生成JSON字符串。 通过使用json库,chrome和ff已经在这个方法中构建

首先,您必须为这样的数据创建javascript对象

var data = { 
    name : 'blu..',
    age  : 19
};

JSON.stringify(data);

// result is => "{"name":"blu..","age":19}"



function createJSONString(arguments) {
    var obj = {};     
    for (i = 0; i < arguments.length - 1; i++) {
        obj[arguments[i]] = document.getElementById(arguments[i]).value;
    }

    return JSON.stringify(obj);
};
var数据={
名称:“蓝色…”,
年龄:19
};
stringify(数据);
//结果是=>“{”name:“blu.,“age”:19}”
函数createJSONString(参数){
var obj={};
对于(i=0;i
我尝试缩进代码并粘贴。不知何故,每次我在编辑器中格式化代码并粘贴到此处时,对齐都会出现问题。我应该如何确保代码正确缩进?假设我的编辑得到批准,我会为您格式化代码。通常,代码是四个空格而不是制表符。如果字段值包含为什么使用这种“类似JSON”的格式(在名为
createJSONString
的函数中,而不是
createJSONishString
)不只是使用JSON?@DCoder,因为localStorage只存储JSON字符串,而不存储JSON。我的意思是说,即使我们在localStorage中存储JSON时使用JSON,我们也需要使用JSON.stringify(例如localStorage.userDetails=JSON.stringify(userJSON))转换它;是否有您不能使用包装器库或包装器库的原因?谢谢,在看到dcorders的评论后,我刚刚实现了同样的功能。