通过字符串操作从json字符串读取值

时间:2018-12-20 18:30:35

标签: c# json string string-operations

如何从下面的字符串中读取“ key”和“ key1”的值。 它的json,但我无法解析,因为它的数量很大,而且解析时坏了。

因此,想通过字符串操作读取somelongnumber和somelongnumber2。

{key:somelongnumber,key1:somelongnumber2}

这是获取此值的最简单方法。

带有数据的字符串:

{key:987680907568874555505607487995865555765995697489705794879988794489875875748987900769748746885877550977678595976099650577885777777684698859955669967959569775575067,key1:57069588960687005850750777094807006847879887980496989949579940779055857509947777847575786087598684799568577408880997966575750505586786988505685776878966949595807557508787784690576899698976897568855509907577566780999748589995405946407480098700854777748707067084789808075807709656084406888907505699899840957887847487008975787755684857507580057597799985874870997758507505954704880888999859760585587860777649885965487088048678878505979799046569808657874800555897997680907568874805607487995865555765995697489705794879988794489875875748987900769748746885877550977678455976099650577885777777684698859955669967959569775575067}

2 个答案:

答案 0 :(得分:1)

这是您要反序列化的课程

class JsonClass
{
    public System.Numerics.BigInteger Key1 {get; set;}
    public System.Numerics.BigInteger Key2 {get; set;}
}

用于反序列化

var result = JsonConvert.DeserializeObject(inputJson);
Console.WriteLine(result.Key1);

答案 1 :(得分:0)

如果您真的不想处理JSON序列化和DTO,而您的唯一目标是解析此输入,则可以尝试使用以下方法:

string myData = "YOUR JSON INPUT";
string[] mydata2 = myData.Trim('{').Trim('}').Split(',');
string firstVal = mydata2[0].Split(':')[1];
string secondVal = mydata2[1].Split(':')[1];

尽管您需要长期解决方案,但最好保留JSON序列化。