Javascript 对象和 JSON 对象有什么区别

2023-12-04

谁能用一个例子告诉我 Javascript 对象和 JSON 对象之间的区别?


JavaScriptobject是 Javascript 中的一种数据类型 - 仅在 Javascript 中才有意义。你经常会看到 Javascript对象字面量像这样:

var obj = {
    a: 1,
    b: 2
};

A JSON string是一种数据交换格式 - 它只不过是一堆以特定方式格式化的字符(以便不同的程序相互通信)。因此,它可以存在于 Javascript 中,或者以其他语言存在,或者简单地存储在数据库或文本文件中。

上面的 Javascript 对象可以在 Javascript 中以 JSON 格式表示,如下所示:

var json = '{ "a": 1, "b": 2 }';

或者在 C# 中这样:

string json = "{ \"a\": 1, \"b\": 2 }";

正如您所看到的,JSON 只是存储在字符串中。为了使其有用,JSON 字符串可以是parsed以任何语言生成一个对象。由于 JSON 格式模仿了 Javascript 的对象字面量语法,因此 Javascript 使解析过程变得简单:

var obj = eval('(' + json + ')');

虽然通常你会看到:

var obj = JSON.parse(json); // for security reasons

请注意,JSON 的局限性在于它无法存储函数 - 它可以包含的唯一值是:

  • 对象(文字)
  • arrays
  • numbers
  • booleans
  • strings
  • nulls
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 对象和 JSON 对象有什么区别 的相关文章

随机推荐

  • Apache Solr 快速入门教程 - 加载主类 SimplePostTool 时出错

    我正在关注Apache Solr 快速入门教程 本教程遇到了对丰富文件的目录进行索引的情况 这需要实现java Dauto Drecursive org apache solr util SimplePostTool docs 我收到一条错
  • 重置主屏幕的导航堆栈(React Navigation 和 React Native)

    我的导航有问题反应导航和反应本机 这是关于重置导航并返回主屏幕 我已经在 DrawerNavigator 内部构建了 StackNavigator 并且主屏幕和其他屏幕之间的导航正在工作 但问题是 导航堆栈不断增长 我不知道如何从堆栈中删除
  • ScheduledActionService.Find 抛出 ArgumentException

    我在市场中部署了一个 Windows Phone 7 应用程序 该应用程序通过周期性任务后台代理更新其动态磁贴 一位用户报告了磁贴在工作一段时间后不再更新的问题 当他们检查手机上的后台任务时 它被禁用 并且 下次打开该应用程序时重新打开后台
  • Prolog:比较列表列表中的列表

    我现在很长时间试图找出我的错误是什么 但我无法做到 任务 我们必须弄清楚如何找到包含列表列表形式的 9 个元素的列表的三种排列 每个列表列表应包含三个子列表 每个子列表包含三个元素 但不允许任何元素与两个不同子列表中的另一个元素在一起 对于
  • Rust 中如何检查函数是否被调用?

    我有一个功能如下 pub fn registration student id T StudentId registrar T RegistrarID More code here if num of students lt student
  • d3-force 初始化图后更新forceCollide的半径

    这个问题是上一个题为 初始化图后强制更新参数 的问题的后续问题 D3 初始化图后强制更新参数 并且 altocumulus 回答了 我试图在修改某些节点的半径后更新模拟力 然而 当我呼吁forceCollide来解释它不起作用的变化 该图首
  • 使用反射修改字符串的目的是什么?

    我正在读一本article这就是说 Java 字符串并不是完全不可变的 但是 在本文修改字符串的示例代码中 它调用了 string toUpperCase toCharArray 这会返回一个新字符串 那么 如果您无论如何调用 toUppe
  • 向 sys.excepthook 添加函数

    假设我有这样的东西 它会向logging critical import sys def register handler orig excepthook sys excepthook def error catcher exc info
  • 如何在 64 位 Windows 上安装 SciPy?

    如何在我的系统上安装 SciPy 对于 NumPy 部分 SciPy 所依赖的 实际上有一个适用于 64 位 Windows 的安装程序 numpy 1 3 0 win amd64 py2 6 msi 是直接下载URL 2310144字节
  • Java - 通过 Java 套接字广播语音

    我创建了一个从客户端接收声音的服务器应用程序 然后广播该声音 该声音以字节形式存储 并将字节发送回连接到服务器的客户端 现在我只使用一个客户端进行测试 该客户端正在接收回语音 但声音一直断断续续 有人可以告诉我我做错了什么吗 我想我理解声音
  • Python 2 中的扩展元组解包

    是否可以在 Python 2 中模拟扩展元组拆包 具体来说 我有一个 for 循环 for a b c in mylist 当 mylist 是大小为 3 的元组列表时 它可以正常工作 如果我传入大小为 4 的列表 我希望相同的 for 循
  • Angular 2 变更检测 - 如何解决组件之间的循环依赖关系?

    我读到 Angular 2 变更检测是单向的 从组件树的顶部到底部 并且在一次通过后变得稳定 这意味着没有多个变更检测周期 考虑到这些假设 如果我们的父组件和子组件具有相互依赖的属性 会发生什么情况 例子 根据用户事件 父组件更新子组件属性
  • 卷曲 cookie 处理

    是否有可能使用 cURL 时 并非每个用户都使用相同的 cookie 因为我存储得到的 cookie 很酷 但是这个 cookie 会被每个人使用 而且应该如此 因为它是一个登录 cookie Charlie 这是 cookie 工作原理的
  • 语法错误:当前未启用对实验性语法“jsx”的支持

    我无法使用我创建的 npm 组件包 我已经成功发布了该包 但是当我在新代码中使用它时 它显示此错误 SyntaxError home trinendra Desktop react test node modules iconbox1 in
  • SSIS:创建具有不同行格式的平面文件

    我想创建一个平面文件输出 其中行的格式不同 文件有标题行 中间数据行 页脚行 文件如下所示 H deptcode123 deptNameXYZ totalemp300 E Sam Johnson address1 empCode1 many
  • window.open() 中的 name 参数是什么

    请有人告诉我这个窗口的名称是什么window open 是标题名称还是java脚本语言中的某个ID windowName 为新窗口指定的名称 该名称可用于再次引用该窗口 打开窗口后 您会想用它做各种各样的事情 例如移动它然后你就可以做
  • 如何使用面板上的图形类绘制多色文本?

    我想在面板上绘制以下文本 这是一个多颜色的文本 我找到了这个article关于绘制彩色文本 我用单词替换了字符 但它不起作用 我使用FillPath DrawPath来绘制文本 my code private void Form1 Pain
  • 将递归Python代码转换为非递归版本

    除非我们开始增加 unique 和 n symbols 和长度 否则此处提供的代码将有效 例如 在我的计算机上 n symbols 512 length 512 distinct 300 最终会出现此错误RecursionError 比较中
  • Windows批处理文件将X个文件从一个文件夹移动到另一个文件夹

    如果文件少于 20 个 我尝试使用批处理文件以 30 个块为单位移动文件 DataLoc 我修改了代码一个先前的问题 问题在于FMove文件的部分 无论我在里面放什么for线 它给了我一个错误 我希望这个有 HoldLoc 值 但由于我遇到
  • Javascript 对象和 JSON 对象有什么区别

    谁能用一个例子告诉我 Javascript 对象和 JSON 对象之间的区别 JavaScriptobject是 Javascript 中的一种数据类型 仅在 Javascript 中才有意义 你经常会看到 Javascript对象字面量像