首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
V2EX  ›  问与答

hi,大家好,我这有个有关 c# 的 json 的问题

  •  
  •   niceworld · 2014-12-09 23:11:11 +08:00 · 7026 次点击
    这是一个创建于 1775 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我目前正在学习c#
    现在正在做一个用echonest 生成音乐指纹 来查找音乐信息的小软件。
    不过现在遇到个问题。
    我是用
    public string fing()
    {
    StreamReader streamReader = process.StandardOutput 的到codegen,exe的返回值
    }
    用的Newtonsoft.Json 在取出值 string转换为json 类型时
    JArray jcode = JArray.Parse()
    爆出了一个异常:
    “Newtonsoft.Json.JsonReaderException”类型的未经处理的异常在 Newtonsoft.Json.dll 中发生
    其他信息: After parsing a value an unexpected character was encountered: t. Path '[0].metadata.release', line 2, position 52.
    是因为我的string 已经是json的关系么?
    我该怎么做呢
    3 回复  |  直到 2014-12-11 17:53:49 +08:00
        1
    niceworld   2014-12-09 23:16:12 +08:00
    这是我的sting的值 codegen输出的已经是json
    [
    {
    "metadata":{
    "artist":"Hiroyuki Sawano",
    "release":"Attack on Titan Original Soundtrack",
    "title":"03.eye-water",
    "genre":"Other",
    "bitrate":320,
    "sample_rate":48000,
    "duration":181,
    "filename":"1.mp3",
    "samples_decoded":110250,
    "given_duration":10,
    "start_offset":10,
    "version":4.12,
    "codegen_time":0.031000,
    "decode_time":2.094000
    },
    "code_count":300,
    "code":"eJy1llHOJDcIhK9kgwFzHMD4_kdITR4yyS_F...........................",
    "tag":0
    }
    ]
        2
    SoloCompany   2014-12-10 00:41:20 +08:00 via iPad   ♥ 1
    我猜的,你原字符串的 title 属性没有加双引号
        3
    niceworld   2014-12-11 17:53:49 +08:00
    @SoloCompany 不知道什么原因.....我的json的字符串是由codegen.exe自动生成的..按理来说这样反序列化是没问题的...蛋疼的是我换了一个测试用的音乐文件就可以了= =#
    所以我想是不是因为Newtonsoft.Json中的 这个JArray.Parse()方法有问题.....
    对一些特殊字符不支持?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2160 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 21ms · UTC 08:20 · PVG 16:20 · LAX 01:20 · JFK 04:20
    ♥ Do have faith in what you're doing.