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

如何在JSON对象中转换转义的JSON字符串?

侯焱
2023-03-14
问题内容

我从公共API接收到一个JSON对象,该对象本身具有一个转义的JSON字符串。

{
   "responses":[
      {
         "info":"keep \"this\" in a string",
         "body":"{\"error\":{\"message\":\"Invalid command\",\"type\":\"Exception\",\"code\":123}}"
      },
      {
         "info":"more \"data\" to keep in a string",
         "body":"{\"error\":{\"message\":\"Other error\",\"type\":\"Exception\",\"code\":321}}"
      }
   ]
}

我如何将此属性转换为实际的JSON对象(未转义),以便使用NewtonSoft Json.NET反序列化整个响应?


问题答案:

这是我根据 Sam 的答案使用的可行解决方案:

dynamic obj = JsonConvert.DeserializeObject(json);
foreach (var response in (IEnumerable<dynamic>)obj.responses)
{
    response.body = JsonConvert.DeserializeObject((string)response.body);
}
string result = JsonConvert.SerializeObject(obj);


 类似资料:
  • 我有这个json字符串 我想把它转换成JsonObject,因为它里面有一个json字符串,所以我必须取出JsonElement,然后使用它。问题是JsonElement“service”和“op”是字符串 我希望JsonObject像这样被转换 我尝试了新的JsonParser().parse(字符串)和新的Gson().fromJson(字符串,JsonObject.class),但没有解析。

  • 问题内容: 我从SQL查询中得到以下结果: 当前是PHP中的字符串。我知道它已经是JSON形式,有没有简单的方法可以将其转换为JSON对象? 我需要将其作为一个对象,以便可以像“ Coords”一样添加一个额外的项目/元素/对象。 问题答案: @deceze说的是正确的,看来您的JSON格式不正确,请尝试以下操作: 使用到的字符串转换成对象()或数组:http://php.net/manual/e

  • 问题内容: 手动创建JSON数据时,应如何转义字符串字段?我应该用什么样的Apache Commons Lang中的,或者我应该使用? 问题是,当我使用时,它不会转义引号,并且当我将整个字符串包装在一对s中时,将生成格式错误的JSON。 问题答案: 理想情况下, 找到一种使用您的语言的JSON库 ,您可以向该 库 提供一些适当的数据结构, 并使它担心如何转义 。它会让您保持头脑清醒。如果出于某种原

  • 问题内容: 我正在使用JS对象通过Google可视化创建图形。我正在尝试设计数据源。首先,我创建了一个JS对象客户端。 现在,我需要动态获取数据。因此,我将AJAX请求发送到返回JSON字符串的页面: 我将其保存到变量中: 并显示为 现在,我的任务是从该字符串创建一个JS对象。这是行不通的。当我使用JS对象时,一切工作正常,并且能够获得所需的图形。现在,如果我尝试从警报消息中确认的来自AJAX请求

  • 问题内容: 将字符串表示形式转换为对象,但我要相反。对象要转换为JSON字符串,我有一个链接http://www.devcurry.com/2010/03/convert- javascript-object-to-json.html, 但是它需要json2.js jQuery是否具有本机功能方法来做到这一点? 问题答案: jQuery只会在调用本机浏览器方法之前进行一些正则表达式检查。如果不可用

  • 问题内容: 如何使用JavaScript(或jQuery)将描述对象的字符串转换为JSON字符串? 例如:转换这个( 不是 有效的JSON字符串): 到这个: 如果可能,我希望避免使用。 问题答案: 如果字符串是来自可靠来源 ,你可以使用然后的结果。像这样: 请注意,当您使用对象文字时,必须将其括在圆括号中,否则将花括号解析为块而不是对象。 我也同意以下问题的评论,那就是最好以有效的JSON开始编