当前位置: 首页 > 面试题库 >

是否有更好的方法将JSON数据包转换为查询字符串?

赫连睿
2023-03-14
问题内容

我有一个输入字符串,将 要么 是JSON数据包,鼻翼:

{"PHONE":"555-513-4318","FIRSTNAME":"Austin","ARTISTID":"2","LASTNAME":"Weber"}

或查询字符串,ala:

phone=555-513-4318&firstname=Austin&artistid=2&lastname=Weber

就我的目的而言,我需要 _ 始终 使用后一种格式。因此, _当
它是JSON数据时,我需要将其转换为查询字符串。这是用户输入的内容,因此我不能保证它会是另一个。

我正在使用jQuery,并且具有下面的代码,可以正常工作。我只是想知道是否有更好的方法来解决这个问题。

var data = '';
try {
    data = $.param($.parseJSON($("#content").val()));
} catch (e) {
    data = $("#content").val();
}

//... now do stuff with the `data` var...

这里的逻辑是,如果字符串不是有效的JSON,$.parseJSON()则将引发异常,并且数据将仅设置为用户输入的原始值。


问题答案:

除了进行一些优化之外,没有比这更短的方法了:

var data = $("#content").val();
try {
  data = $.param($.parseJSON(data));
} catch (e) { }

这样可以防止 潜在的 多个选择器和.val()调用,但是与您已经在做的概念相同。



 类似资料:
  • 问题内容: 我正在使用既包含数字又包含字母数字或仅包含数字但不仅仅包含字母的字符串。为了测试错误匹配,我需要检查字符串是否至少包含一位数字,如果没有,则输出错误消息。我一直在使用以下代码: 有没有更Python化或更简单的方法可以做到这一点?另外,我不能仅检查字符串是否为字母数字,因为字符串可能包含各种符号(’-‘,空格等)。 问题答案: 这是正则表达式仅此而已的地方之一: 小样: 您可以使用@W

  • 问题内容: 我基本上是在寻找相反的东西。 我将以下内容作为字符串: 我想要以下内容(传递给): 问题答案: 你要。向其传递一个数组作为第二个参数,它将从您提供给数组的查询字符串中提取变量: 请注意,这是页面上列出的第一个相关功能。

  • 每次需要整数数组时,我都会使用以下代码: 我使用BufferedReader而不是Scanner来降低输入过程中的时间复杂度。然而,当数组大小相对较大时,我想知道这种方法是否比Scanner有效(

  • 以下设置: 两个变量都表示语义相等的ID。由于应用程序是针对移动设备的,因此以最有效的方式进行这些变量的比较非常重要。 将这些变量与此代码片段进行比较是否有效, 还是用这个?

  • 我试图想出一个好的解决方案来将字符串转换为json格式,但我不知道它是否足够好。 我想我可能会使用str.replace from(to{,并在}{之间插入逗号,但我如何找到要插入的索引?“”代表Name、Author、fileSize呢?在转换为可读的json字符串之后,我可以序列化为json(由GSON/Jackson)。

  • 标题可能不太清楚,问题在这里 我正在执行此表单中的更新: 仅当没有具有相同用户ID的文档时才在数组中插入文档(解决方法是,唯一索引在数组中不起作用)。代码在mongo控制台上运行良好。从我的应用程序中,我使用以下内容: 如果作为“userid”,我使用的字符串不能是mongo ObjectId,那么这很好,但是如果我在示例中使用该字符串,则执行的查询如下所示(来自mongosniff): 该字符串