VBScript把json字符串解析成json对象的2个方法

当我们在前端开发中需要使用到json数据时,可以将json对象序列化成json字符串进行传输或者存储,在需要使用时再将json字符串解析成json对象。VBScript是一种Microsoft Visual Basic语言的脚本语言,它可以通过以下两种方法将json字符串解析成json对象。

方法一:使用Microsoft Script Control解析json字符串

使用Microsoft Script Control需要先注册该控件,然后使用CreateObject方法创建该控件对象。

示例代码如下:

'注册Microsoft Script Control
Regsvr32 /s scrobj.dll

'使用Microsoft Script Control解析json字符串
Dim jsonStr, jsonObj, json
Set jsonStr = CreateObject("ScriptControl")
jsonStr.Language = "JScript"
jsonStr.AddCode("var jsonStr = '{""name"":""xiaoming"",""age"":18}'")
Set jsonObj = jsonStr.Eval("(" + jsonStr.CodeObject.JSON.parse(jsonStr.CodeObject.jsonStr) + ")")
MsgBox jsonObj.name & vbCrLf & jsonObj.age '输出:xiaoming 18

Explanation:

在该示例中,我们首先使用Regsvr32 /s命令注册Microsoft Script Control控件。然后通过CreateObject方法创建Control对象,并设置其Language属性为"JScript"。接着通过AddCode方法将json字符串作为变量添加到ScriptControl中,再通过Eval方法使用JavaScript脚本引擎将json字符串解析成json对象。

注意,使用此方法解析json字符串时必须将json字符串作为变量添加到ScriptControl中。

方法二:使用JavascriptSerializer解析json字符串

如果系统中未注册Microsoft Script Control,我们也可以使用.net Framework中的JavaScriptSerializer类解析json字符串。

示例代码如下:

'使用JavascriptSerializer解析json字符串
Dim jsonStr, jsonObj
Set jsonStr = CreateObject("System.Web.Script.Serialization.JavaScriptSerializer")
jsonObj = jsonStr.DeserializeObject("{""name"":""xiaoming"",""age"":18}")
MsgBox jsonObj("name") & vbCrLf & jsonObj("age") '输出:xiaoming 18

Explanation:

在该示例中,我们先通过CreateObject方法创建JavaScriptSerializer对象,然后使用DeserializeObject方法将json字符串解析成json对象。值得注意的是,使用此方法解析json字符串时需要保证系统中安装了.net Framework,否则代码运行时会出现异常。

除了这两种方法外,还可以使用第三方JSON解析库如json2.vbs实现json字符串的解析,但需要先将该库引入项目中才能使用。

希望以上内容能够帮助到您!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:VBScript把json字符串解析成json对象的2个方法 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • Go语言JSON解析器gjson使用方法详解

    Go语言JSON解析器gjson使用方法详解 在Go语言中有一个非常实用的JSON解析器库gjson,它支持在JSON文本中进行高效的路径查询和解码,操作简单,性能优秀。本文将详细讲解gjson的基本使用方法,让大家能够更方便地使用这个强大的工具。 安装gjson gjson使用起来非常简单,只需安装: go get github.com/tidwall/g…

    C 2023年5月23日
    00
  • JS中的Error对象及使用JSON.stringify()序列化Error问题

    JS中的Error对象是用于处理和抛出错误的一种内置类型,它有以下几个属性: name:Error对象的名称,默认为“Error”。 message:错误消息,通常是人类可读的信息。 stack:当前调用栈的字符串表示,用于调试目的。 当发生错误时,可以使用以下语法创建一个Error对象: throw new Error(‘错误消息’); 这会把错误消息作为…

    C 2023年5月23日
    00
  • C++实现地铁自动售票系统程序设计

    C++实现地铁自动售票系统程序设计攻略 概述 地铁自动售票系统是一种基于计算机技术的智能化自助售票系统,可以方便快捷地为乘客提供地铁车票的购买、充值、查询、退款等服务。本文主要介绍如何使用C++语言实现地铁自动售票系统的设计以及开发方法。 实现步骤 第一步:确定功能需求 地铁自动售票系统的主要功能包括: 售卖地铁票和充值。要求用户输入选择的地铁线路和数量,然…

    C 2023年5月23日
    00
  • 基于C语言实现的贪吃蛇游戏完整实例代码

    “基于C语言实现的贪吃蛇游戏完整实例代码”攻略 1. 总体介绍 该贪吃蛇游戏代码是基于C语言实现的经典小游戏。具体实现方式是控制某一个方向键使蛇移动,每次蛇吃到食物的时候,则身体变长,直到蛇的身体覆盖整个游戏屏幕。此过程中有各种UI,比如分数、游戏结束等。此代码使用的是Windows平台的控制台界面。 2. 代码实现步骤 2.1 游戏的设置 将控制台窗口的大…

    C 2023年5月30日
    00
  • Ubutu1604安装colmap实现方法详细教程

    Ubuntu 16.04 安装 COLMAP 实现方法详细教程 COLMAP 是一种基于图像的三维重建和显著点提取工具。在 Linux 下,你可以按照以下步骤来安装 COLMAP。 步骤 1:安装依赖项 在安装 COLMAP 之前,请确保你已经安装了以下依赖项: sudo apt-get update sudo apt-get install python-…

    C 2023年5月23日
    00
  • Go项目中添加生成时间与版本信息的方法

    在Go项目中添加生成时间与版本信息,可以通过在编译时动态添加这些信息到可执行文件中,运行后即可查看。以下是完整的攻略。 第一步:定义版本信息 在项目的主程序中,定义一个常量来保存版本信息和生成时间。版本信息可以格式化成字符串,并随着时间一起更新。 const ( Version = "1.0" BuildTime = "2019…

    C 2023年5月22日
    00
  • C语言实现汉诺塔(图文详解)

    以下是关于C语言实现汉诺塔的攻略: 1. 题目背景 汉诺塔是专家们引以为豪的经典问题。这个问题是由法国人Edouard Lucas在1883年所发明的。汉诺塔(又称河内塔)是一个经典的递归问题,其分为三根不同大小的柱子,要求把中间柱子上面的n个盘子移动到右边的柱子(不能直接从中间移动到右边),并保证大盘子在小盘子上面。下文将通过C语言来实现解决该问题。 2.…

    C 2023年5月22日
    00
  • 荣耀畅玩8C手机怎么样?荣耀畅玩8C全面评测

    荣耀畅玩8C手机怎么样?荣耀畅玩8C全面评测 前言 荣耀畅玩8C是一款2018年10月上市的入门级智能手机。作为荣耀畅玩系列产品的一员,荣耀畅玩8C主打高性价比,具有充足的配置和不错的性能表现。在这篇文章中,我们将对荣耀畅玩8C进行全面评测,从外观、配置、性能以及其他方面对其进行详细剖析。 外观设计 荣耀畅玩8C采用了6.26英寸的水滴屏,分辨率为1520x…

    C 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部