c# string转JsonObject

邻家大哥呀 2018-01-02 10:51:38
因项目的需要,需要将string转成JsonObject,可尴尬的是一直失败。博客上找了一些解决办法,还是各种bug(为什么别人这样就成功了,求各位大神 帮看下,感谢)
上图:
在这里解释下,需要依赖的几个jar文件都已经依赖完成
commons-beanutils-1.9.3.jar
commons-collections-3.2.jar
commons-lang-2.3.jar
commons-logging-1.2.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar

麻烦各位大神,谢谢哈
...全文
2115 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Anonymous477 2018-01-03
  • 打赏
  • 举报
回复
引用 16 楼 IT_choshim 的回复:
[quote=引用 14 楼 StratosBlue 的回复:]
JObject jo1 = JObject.Parse(s);


这个用过,显示不存在Parse方法[/quote]

你的Newtonsoft.Json版本不对吧。。。
把你之前的引用取消,然后从Nuget重新安装;

邻家大哥呀 2018-01-03
  • 打赏
  • 举报
回复
在这里,谢谢各位大佬们的回复。 问题已经解决,这里马上结贴,都有奖励的。 再次感谢大家。谢谢哈
邻家大哥呀 2018-01-03
  • 打赏
  • 举报
回复
引用 14 楼 StratosBlue 的回复:
JObject jo1 = JObject.Parse(s);
这个用过,显示不存在Parse方法
邻家大哥呀 2018-01-03
  • 打赏
  • 举报
回复
引用 12 楼 qq_41042906 的回复:
string转换成Json格式,引用下litjson啊
谢谢大神,用了下LitJson立马成功了,简单上手 就是和我这种新手。 搞了几天了,真的谢谢大佬
Anonymous477 2018-01-03
  • 打赏
  • 举报
回复
JObject jo1 = JObject.Parse(s);
邻家大哥呀 2018-01-03
  • 打赏
  • 举报
回复
引用 6 楼 starfd 的回复:
https://www.nuget.org/packages/Newtonsoft.Json NET下的反序列化直接用这个就可以
是c#的呢,昨天不是太懂,看别人导入了jar包,我也跟着导了。刚才发现错了。 大神,我看了下你发我的网址,using Newtonsoft.Json; 这个昨天我试过,但是添加了.dll文件,却还是无法使用。实在尴尬
事已至 2018-01-03
  • 打赏
  • 举报
回复
string转换成Json格式,引用下litjson啊
邻家大哥呀 2018-01-03
  • 打赏
  • 举报
回复
引用 3 楼 zhuo_wp 的回复:
上面那个代码要引用系统自带的程序集System.Runtime.Serialization
大神,我已经引用了System.Runtime.Serialization.dll为什么Json还是报出错误。 刚百度了下,有前辈说要添加using System.ServiceModel; using System.ServiceModel.Web;的应用,可是也没效果啊
正怒月神 2018-01-03
  • 打赏
  • 举报
回复
https://www.cnblogs.com/xiaojinhe2/archive/2011/10/28/2227789.html
邻家大哥呀 2018-01-03
  • 打赏
  • 举报
回复
引用 7 楼 yzf86211861 的回复:
[quote=引用 6 楼 starfd 的回复:] https://www.nuget.org/packages/Newtonsoft.Json NET下的反序列化直接用这个就可以
这个是 可以的, 不过很关心 你到底是JAVA 还是C# Jar? JAVA 架包?[/quote] 是c#的,昨天不怎么懂,把jar包 导进去了,麻烦说下c# string转jsonobject
邻家大哥呀 2018-01-03
  • 打赏
  • 举报
回复
引用 2 楼 zhuo_wp 的回复:
    public static class JsonConvertHelper
    {
        public static string Obj2Json<T>(T obj, Encoding encoding = null)
        {
            DataContractJsonSerializer serializer = null;
            if (obj != null)
            {
                serializer = new DataContractJsonSerializer(obj.GetType());
            }
            else
            {
                serializer = new DataContractJsonSerializer(typeof(T));
            }
            
            string json = string.Empty;
            using (MemoryStream ms = new MemoryStream())
            {
                serializer.WriteObject(ms, obj);
				if (encoding == null)
				{
					json = Encoding.UTF8.GetString(ms.GetBuffer());
				}else
				{
					json = encoding.GetString(ms.GetBuffer());
				}
                ms.Close();
            }

            json = json.Trim('\0');

            return json;
        }

        public static T Json2Obj<T>(this string json)
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
            T obj = default(T);
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
            {
                obj = (T)serializer.ReadObject(ms);
                ms.Close();
            }

            return obj;
        }


    }
试试纯c#代码写的吧。
引用 4 楼 hanjun0612 的回复:
我也想问, 你是java还是c#?
是c#的,昨天不怎么懂,把jar包 导进去了,麻烦说下c# string转jsonobject
yzf86211861 2018-01-03
  • 打赏
  • 举报
回复
引用 6 楼 starfd 的回复:
https://www.nuget.org/packages/Newtonsoft.Json NET下的反序列化直接用这个就可以
这个是 可以的, 不过很关心 你到底是JAVA 还是C# Jar? JAVA 架包?
  • 打赏
  • 举报
回复
https://www.nuget.org/packages/Newtonsoft.Json NET下的反序列化直接用这个就可以
  • 打赏
  • 举报
回复
看标题是C#,还内容是jar包 看代码也是C#,为啥有jar包呢?
正怒月神 2018-01-03
  • 打赏
  • 举报
回复
我也想问, 你是java还是c#?
zhuowp 2018-01-03
  • 打赏
  • 举报
回复
上面那个代码要引用系统自带的程序集System.Runtime.Serialization
zhuowp 2018-01-03
  • 打赏
  • 举报
回复
    public static class JsonConvertHelper
    {
        public static string Obj2Json<T>(T obj, Encoding encoding = null)
        {
            DataContractJsonSerializer serializer = null;
            if (obj != null)
            {
                serializer = new DataContractJsonSerializer(obj.GetType());
            }
            else
            {
                serializer = new DataContractJsonSerializer(typeof(T));
            }
            
            string json = string.Empty;
            using (MemoryStream ms = new MemoryStream())
            {
                serializer.WriteObject(ms, obj);
				if (encoding == null)
				{
					json = Encoding.UTF8.GetString(ms.GetBuffer());
				}else
				{
					json = encoding.GetString(ms.GetBuffer());
				}
                ms.Close();
            }

            json = json.Trim('\0');

            return json;
        }

        public static T Json2Obj<T>(this string json)
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
            T obj = default(T);
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
            {
                obj = (T)serializer.ReadObject(ms);
                ms.Close();
            }

            return obj;
        }


    }
试试纯c#代码写的吧。
邻家大哥呀 2018-01-03
  • 打赏
  • 举报
回复
引用 18 楼 StratosBlue 的回复:
[quote=引用 16 楼 IT_choshim 的回复:] [quote=引用 14 楼 StratosBlue 的回复:] JObject jo1 = JObject.Parse(s);
这个用过,显示不存在Parse方法[/quote] 你的Newtonsoft.Json版本不对吧。。。 把你之前的引用取消,然后从Nuget重新安装; [/quote] 真的是,贫穷限制了我的想象力。刚才试了下,可以了 而且非常666. 多谢大佬,不好意思。 又多掌握了一种方法
threenewbee 2018-01-03
  • 打赏
  • 举报
回复
你到底是C#还是java,怎么还依赖jar

110,500

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧