从字符串中查找子字符串 从字符串中提取有效数字
从字符串化的对象中提取属性
当从HTML元素的值属性中获取到一个初始化对象,但实际上是字符串类型的数据出现时,我们需要将其转换为JavaScript对象情况才能访问其内部属性。这种经常在通过HTML连接时将数据,例如在复杂的表单提交或数据表格中。
假设我们从单选按钮的值属性中获取到以下字符串:quot;{'fileName': '这是 file2.png','fileType': 'file','size': '4.5 MB','createdBy': 'Anuj','lastModifiedDate': '23 Apr 2022, 06:00 PM'}quot;登录后复制
直接访问这个字符串的属性会得到未定义,因为JavaScript将其视为一个普通的字符串。
解决方法:使用JSON.parse()
JSON.parse()是JavaScript内置的方法,用于将JSON字符串转换为JavaScript
示例代码:let objString = quot;{'fileName': '这是 file2.png','fileType': 'file','size': '4.5 MB','createdBy': 'Anuj','lastModifiedDate': '23 Apr 2022, 06:00 PM'}quot;;//将单引号替换为双引号,从而符合JSON格式objString = objString.replace(/'/g, "\"");let obj = JSON.parse(objString);console.log(obj); // 输出: {fileName: "This is the file2.png", fileType: "file", size: "4.5 MB",createdBy: "Anuj", lastModifiedDate: "23 Apr 2022, 06:00 PM"}console.log(obj.fileName); // 输出:This is the file2.pngconsole.log(obj.fileType); // 输出:文件登录后复制
代码解释:获取字符串:首先,我们从HTML元素的value属性中获取到字符串。替换单引号为双引号: JSON.parse()方法要求字符串必须是标准的JSON格式,即键和值都必须使用双引号。因此,需要我们将字符串中的单引号替换为双引号。JSON.parse()转换:使用JSON.parse(objString)将字符串转换为JavaScript对象。访问属性:现在,我们像访问普通JavaScript对象一样,使用点号(.)或方格式([])来访问对象的属性。
注意事项:JSON格式:确定要解析的字符串是有效的JSON格式。JSON格式要求键和值都使用双引号,并且不能包含注释。错误处理:如果字符串不是有效的JSON格式,JSON.parse()会抛出一个错误。
因此,在使用JSON.parse()时,应该使用try...catch语句来捕获错误,并进行适当的处理。try { let objString = quot;{'fileName': 'This is the file2.png','fileType': 'file','size': '4.5 MB','createdBy': 'Anuj','lastModifiedDate': '23 Apr 2022, 06:00 PM'}quot;; objString = objString.replace(/'/g, "\""); let obj = JSON.parse(objString); console.log(obj.fileName);} catch (error) { console.error("解析JSON字符串时错误:", error);}登录后复制
总结:
通过使用JSON.parse()方法,我们可以轻松地分布HTML元素值属性中获取的字符串化对象转换为JavaScript对象,从而方便地访问和使用其中的属性。 在使用时,请务必注意JSON格式的有效性,并进行适当的错误处理。
以上就是从字符串化的对象中提取属性的详细内容,更多请关注乐哥常识网其他相关文章!
