【问题标题】:convert JSON to string in C#在 C# 中将 JSON 转换为字符串
【发布时间】:2015-07-01 07:28:53
【问题描述】:

我有一个包含 JSON 数据的字符串,我想在 C# 中将其转换为字符串或字符串数​​组。

我遇到了 JSONReaderException 类型的异常

阅读完 JSON 内容后遇到的附加文本::.路径'',第 1 行,位置 7

这是什么意思?

这是我的代码:

string requestType = Request.QueryString[0].ToString();
JObject json = JObject.Parse(requestType);
JavaScriptSerializer j = new JavaScriptSerializer();
string b = JsonConvert.DeserializeObject<string>(requestType.Substring(1,requestType.Length-2));

数据从 AJAX 请求发送到服务器。我附上请求:

$.ajax({
                        url: "AJAXRequests.aspx",
                        type: "get",
                        data: JSON.stringify({ "first": "getevent","second":"data" }),
                        dataType:'json',
                        success: function (response){
                        },
                        error: function (xhr) {
                            alert("Problem in sending data to the server.\n Please check your internet connection and try again");
                        }
                    });

【问题讨论】:

  • 你能发布你的json数据吗?
  • @liorko 请发布 Json
  • Json 是一个具有特定格式的 字符串。您的输入字符串是什么,您期望输出什么?您发布的代码没有帮助
  • 如异常中所述,字符串可能包含一些非 JSON 数据,因此您可能需要在尝试解析字符串之前对其进行清理。正如其他人已经建议的那样,请在期待更具体的答案之前提供字符串示例。
  • 顺便说一句,我很确定您不能将 json 字符串作为 URL 查询参数传递,而不对其进行 URL 编码。这意味着您必须在尝试解析之前对其进行解码

标签: c# asp.net json webforms


【解决方案1】:

一个JSONReaderException 带有消息“完成读取 JSON 内容后遇到的附加文本::.Path '', line 1, position 7”

意思是,

您正在解析的字符串开头有一些 JSON,后面跟着不是 JSON 的其他内容。


在这种情况下,不是 JSON 的部分从第 1 行的位置 7 开始。

【讨论】:

  • 另请注意,OP 使用查询字符串参数作为输入。要么没有有效的 json 开头,要么 OP 必须在解析之前对其进行解码
  • @PanagiotisKanavos,同意,如果Content-Type 合适,OP 可能应该执行POST 并从正文中读取 JSON。但是,我正在回答所提出的问题。
猜你喜欢
  • 2017-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多