我有三个字符串。
var ids = "1*2*3";
var Name ="John*Brain*Andy";
var Code ="A12*B32*C38";
我想创建它的 JavaScript 对象。
最佳答案
JSON 对象只是一个字符串,因此它是:
var json = '{"ids":"'+ids+'","Name":"'+Name+'","Code":"'+Code+'"}';
如果要将字符串转换为字符串数组:
var json = '{"ids":["'+ids.replace(/\*/g,'","')+'"],"Name":["'+Name.replace(/\*/g,'","')+'"],"Code":["'+Code.replace(/\*/g,'","')+'"]}';
如果您根本不是在寻找 JSON,而是实际上是一个 Javascript 对象,那么它会是:
var obj = {
ids: ids.split('*'),
Name: Name.split('*'),
Code: Code.split('*')
};
根据您的描述“我希望数组的第一项具有三个属性,即 Id、名称和代码,值分别为 1、John、A12。”但它会完全不同:
var Ids = ids.split('*'), names = Name.split('*'), codes = Code.split('*');
var arr = [];
for (var i = 0; i < Ids.length; i++) {
arr.push({ Id: Ids[i], name: names[i], code: codes[i] });
}
如果你想要 JSON 格式,那就是:
var Ids = ids.split('*'), names = Name.split('*'), codes = Code.split('*');
var items = [];
for (var i = 0; i < Ids.length; i++) {
items.push('{"Id":"'+Ids[i]+'","name":"'+names[i]+'","code":"'+codes[i]+'"}');
}
json = '[' + items.join(',') + ']';
(注意:最后的代码只有在字符串不包含任何引号时才能正常工作,否则在放入字符串时必须对其进行转义。)
关于javascript - 创建星号分隔字符串的 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075288/