[ad_1]
私は次のような文字列を持っています
params=”domain:Abcd-E-Group,domaintype:com,Submit1:Search”
今私はこれをに変換したい
obj={domain:”Abcd-E-Group”,domaintype:”com”,Submit1:”検索”}
私が試したこと:
JSON.parse(params); を試しました。 および eval(params);
どちらも私のために働いていません。
解決策 1
JSON.parse() が機能するには、文字列パラメーターが正しくなければなりません JSON 構文[^]
これを試して:
C#
var params = '[{"domain":"Abcd-E-Group","domaintype":"com","Submit1":"Search"}]'; obj = JSON.parse(params); alert(obj[0].domain);
続きを読む: JSON の例 – 文字列からのオブジェクト[^]
解決策 2
ピーターの解決策に加えて、
文字列が指定した形式である場合は、これを試して json オブジェクトに変換する必要があります。
JavaScript
var params = "domain:Abcd-E-Group,domaintype:com,Submit1:Search"; var jsonStrig = '[{'; var items = params.split(','); for (var i = 0; i < items.length; i++) { var current = items[i].split(':'); jsonStrig += '"' + current[0] + '":"' + current[1] + '",'; } jsonStrig = jsonStrig.substr(0, jsonStrig.length - 1); jsonStrig += '}]'; alert(jsonStrig); //[{"domain":"Abcd-E-Group","domaintype":"com","Submit1":"Search"}] var obj = JSON.parse(jsonStrig); alert(obj[0].domain);
解決策 3
私はこれで解決策を得ました。
obj={};
var params=”domain:Abcd-E-Group,domaintype:com,Submit1:Search”;
var KeyVal = params.split(“,”);
入っていた;
for (KeyVal の i) {
キーヴァル[i] = キーヴァル[i]。スプリット(”:”);
オブジェクト[KeyVal[i][0]]= キーヴァル[i][1];
}
解決策 4
let person='{firstName:"John", lastName:"Doe", id: 55, fullName:function(){return this.firstName+" "+this.lastName} }'; function strToObj(e){ var obj=new Function("return" +e); return obj() }; person=strToObj(person); console.log(person.fullName())
[ad_2]
コメント