我有JSON,它有多个属性,我可以从C#代码解析JSON。主要问题是我的JSON属性会像
一样发生变化 "from":"Arun"
====>这个数据没问题
"from":"{id: 1012718, links: {self: https://www.google.com}, mention_name: NeerajGupta, name: Neeraj Gupta, version: 00000000}"
=>以下是问题,这来自第三方API。
"From":"Neeraj Gupta"
====>需要来自内部HTML的这些数据
我需要在JSON数据中解析JSON。
OR
我们可以阅读以下字符串吗?
{id: 1012718, links: {self: https://www.google.com}, mention_name: NeerajGupta, name: Neeraj Gupta, version: 00000000}
答案 0 :(得分:1)
您必须先修复JSON。然后你可以解析它:
using System;
using Newtonsoft.Json.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string json =
"{\"id\": \"1012718\", \"links\": {\"self\": \"https://www.google.com\"}, \"mention_name\": \"NeerajGupta\", \"name\": \"Neeraj Gupta\", \"version\": \"00000000\"}";
dynamic data = JObject.Parse(json);
Console.WriteLine(data.name);
}
}
}
如果无法修复输入 - 您可以尝试将其解析为纯文本。
错误JSON的示例:
string wrongJson =
"{id: 1012718, links: {self: https://www.google.com}, mention_name: NeerajGupta, name: Neeraj Gupta, version: 00000000}";
string key = " name: ";
string part = wrongJson.Remove(0, wrongJson.IndexOf(key) + key.Length);
Console.WriteLine(part);
string result = part.Substring(0, part.IndexOf(","));
Console.WriteLine(result);
答案 1 :(得分:0)
在项目中的Visual Studio中创建一个空白类。复制JSON数据,然后单击EDIT>选择性粘贴> JSON为Class。它将根据您的输出创建相应的JSON类。然后使用任何JSON序列化程序解析JSON,您的问题就会得到解决。