c# json解析 如何得到text内容 要具体代码

{"result" : "ok","tuc" : [ {"authors" : [ 13 ],"meaningId" : 2397164096556578585,"phrase" : {"text" : "机场","language" : "zho" }},{"authors" : [ 3266 ],"meaningId" : 1269040436618011315,"phrase" : {"text" : "机场","language" : "zho"}}]

你肯定已经装了json.NET是吧?

 

 

然后你这个字符串存成info.json文件,读取代码如下:

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace jsonproject
{
    class Program
    {
        static void Main(string[] args)
        {
            using (StreamReader reader = File.OpenText("info.json"))
            {
                JObject oText = (JObject)JToken.ReadFrom(new JsonTextReader(reader));
                var contents =
                    from p in oText["tuc"]
                    select (string)p["phrase"]["text"];

                foreach (var item in contents)
                {
                    Console.WriteLine(item);
                }
                System.Console.ReadKey();
            }
        }
    }
}

追问

基本成功了,汉字不识别有乱码

追答

文件要存成UTF-8格式。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-21
{"errorCode":22000,"data":{"xcode":"06b9ed05b37158341d07286be822d843","songList":[{"queryId":"11277008","songId":11277008,"songName":"\u52c7\u6c14","artistId":"1095","artistName":"\u6881\u9759\u8339","albumId":11276429,"albumName":"\u5979\u0026\u5979 [\u597d\u5973\u771f\u7231\u6b4c]","songPicSmall":"http:\/\/b.hiphotos.baidu.com\/ting\/pic\/item\/18d8bc3eb13533fa50437d0daad3fd1f41345b18.jpg","songPicBig":"http:\/\/a.hiphotos.baidu.com\/ting\/pic\/item\/9d82d158ccbf6c814c0bc5cbbe3eb13533fa40d1.jpg","songPicRadio":"http:\/\/c.hiphotos.baidu.com\/ting\/pic\/item\/2cf5e0fe9925bc31e1a8efbb5cdf8db1cb137018.jpg","lrcLink":"\/data2\/lrc\/11301207\/11301207.lrc","version":"","copyType":3,"time":238,"linkCode":22000,"songLink":"http:\/\/file.qianqian.com\/\/data2\/music\/42016392\/42016392.mp3?xcode=06b9ed05b3715834080e0c237f8c5ca50a27df109cddc66b\u0026src=\u0022http%3A%2F%2Fpan.baidu.com%2Fshare%2Flink%3Fshareid%3D459557%26uk%3D2503337755\u0022","showLink":"http:\/\/pan.baidu.com\/share\/link?shareid=459557\u0026uk=2503337755","format":"mp3","rate":128,"size":3824863,"relateStatus":"0","resourceType":"2"}]}}
====解析后图片:

这是WinForm项目,源中的\u52c7\u6c14等要转换为中文。本回答被网友采纳
第2个回答  2014-08-24
您先定义一个实体来类
Att_Machine_RecordModel

[Serializable]
public partial class Att_Machine_RecordModel
{
public Att_Machine_RecordModel()
{ }
#region Model

/// <summary>
///
/// </summary>
public int PId=0;

/// <summary>
///
/// </summary>
public string AttCode= "";

/// <summary>
///
/// </summary>
public string CheckTime= "";

/// <summary>
///
/// </summary>
public string CheckType="";

/// <summary>
///
/// </summary>
public string LastModifyTime="";

/// <summary>
///
/// </summary>
public int MachineNum=0;

/// <summary>
///
/// </summary>
public string EntityState="";

/// <summary>
///
/// </summary>
public string EntityKey ="";

#endregion Model
}

然后把这段文字
string _JsonText = System.IO.File.ReadAllText(@"C:\inetpub\wwwroot\test\2014-08-151.txt");
List<Att_Machine_RecordModel> list = new List<Att_Machine_RecordModel>();
System.Runtime.Serialization.Json.DataContractJsonSerializer _Json = new System.Runtime.Serialization.Json.DataContractJsonSerializer(list.GetType());
byte[] _Using = System.Text.Encoding.UTF8.GetBytes(_JsonText);
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream(_Using);
_MemoryStream.Position = 0;
list = (List<Att_Machine_RecordModel>)_Json.ReadObject(_MemoryStream);

foreach(var v in list)
{
AddAtt_Machine_Record(DefaultDBString, v);
}追问

这是什么。。。

追答

我已经写了呀
list = (List)_Json.ReadObject(_MemoryStream);
就是转换成List,然后通过list的对象Att_Machine_RecordModel取值呀

追问

AddAtt_Machine_Record(DefaultDBString, v);出错了

追答

靠, list = (List)_Json.ReadObject(_MemoryStream);
就是您要的结果呀

第3个回答  2015-11-05
准备数据
实体类:
[DataContract]
public class Person
{
[DataMember(Order = 0, IsRequired = true)]
public string Name { get; set; }

[DataMember(Order = 1)]
public int Age { get; set; }

[DataMember(Order = 2)]
public bool Alive { get; set; }

[DataMember(Order = 3)]
public string[] FavoriteFilms { get; set; }

[DataMember(Order = 4)]
public Person Child { get; set; }
}

定义:
Action<object> log = o => Console.WriteLine(o);
Func<int, int, int> add = (x, y) => x + y;

var p1 = new Person {
Age = 12,
Alive = true,
Name = "lj",
FavoriteFilms = new[] { "Up", "Avatar" }
};
var p2 = new Person() { Age = 28, Name = "cy", Child = p1 };
第4个回答  2016-04-08
{"result" : "ok","tuc" : [ {"authors" : [ 13 ],"meaningId" : 2397164096556578585,"phrase" : {"text" : "机场","language" : "zho" }},{"authors" : [ 3266 ],"meaningId" : 1269040436618011315,"phrase" : {"text" : "机场","language" : "zho"}}]

求c#读取txt文件里面json代码
using Newtonsoft.Json;\/\/\/...public DataTable JsonToDataTable(string strJson) { \/\/ 取出表名 var rg = new Regex(@"(?<={)[^:]+(?=:\\[)", RegexOptions.IgnoreCase); string strName = rg.Match(strJson).Value; DataTable tb = null; \/\/ 去除表名 strJ...

C# 怎么读取txt里面的json数组,txt里面内容可以修改,修改后内容记录下来...
首先你得会读取txt文件 其次通过各种手段来解析json数组内容,正则表达式也好,读行以后进行字符分割也好,总之你得能将对应的数组对象解析出来。读取值以后,如果你想修改,简单的方法是直接替换,然后把你取到的所有数组依次组合成符合txt要求的文本,覆盖原来的文本,麻烦点的方法是解析到该值所在的文本长...

C#中怎么把如下的一个字符串转成json ,然后解析出来,在textbox中展示出 ...
var json=jss.Seriliza(array);return json;获得json的页面:用JQuery获取:var jsonStr=$.parse(json);

C#后台如何根据一个异步地址来解析里面的数据,并显示在页面上。_百度知...
如果数据是你贴出的这种形式,那么很明显,你得到的数据是json格式的数据。你可以反序列化成原本的数据格式,然后对其进行读取。

C# 使用Newtonsoft直接读取Json格式文本(Linq to Json)
首先,安装 Newtonsoft.Json至关重要。可以通过NuGet包管理器或.NET CLI进行安装,例如在Visual Studio中,只需右键点击项目,选择“管理NuGet包”,然后搜索并安装即可。假设你手头有一段JSON文本,使用Newtonsoft,处理方式如下:代码如下所示,将JSON文本解析为JObject对象:运行此代码后,将得到预期的结果...

这个JSON 用C# Newtonsoft.Json 如何解析
string str =File.ReadAllText("D:\\\\001.json");\/\/我把那段json保存到文件了,实际str的值就是那段json var serializer = Newtonsoft.Json.JsonSerializer.Create(); var obj = serializer.Deserialize( new Newtonsoft.Json.JsonTextReader(new StringReader(str)) ) as Newtonsoft.Jso...

c#如何读取json中的值
在C#中怎么解析JSON数据,并获取到其中的值,案例如下:JSON数据为:{"phantom":true,"id":"ext-record-10","data":{"MID":1019,"Name":"aaccccc","Des":"cc","Disable":"启用","Remark":"cccc"}}。#需要得到结果为{"MID":1019,"Name":"aaccccc","Des":"cc","Disable":"启用",...

怎么用C#获取这个json中的某个值
上面是完整代码,在图片上,鼠标右键,选择在新窗口打开,是大图。这里其实是C#的序列化和反序列化。下面是分析。看到JS的{}就用c#对象,看到JS的[]就用c#数组。从里往外:user_list里面是用户信息,定义一个类,类随便叫,但是变量必须和JSON一样,例如叫做Person public class Users { public s...

C#字符串转成JSON对象,并解析出里面的数据
public string queryorder_info { get; set; } } 转换过程:public static void JsonMy(){ string json = Jsonstr("D:\\\\json\\\\jsonmy1.txt");\/\/Jsonstr函数读取json数据的文本txt JavaScriptSerializer js = new JavaScriptSerializer(); \/\/实例化一个能够序列化数据的类 ToJsonMy list =...

关于JSON格式字符串在C#中的使用
要使用JSON,首先要了解其两种基本结构:对象(无序的名称\/值对,用大括号{}表示,每个键值对由冒号和逗号分隔)和数组(有序的值列表,用方括号[]表示)。例如,一个简单的JSON对象可以是{"Name":"Jack","Age":26,"Sex":"Male"}。在C#中,可以借助第三方库如Newtonsoft.Json来操作JSON。测试...

相似回答