标签: linq-to-json

我能LINQ一个JSON吗?

这是我从.NET上的请求得到的JSON:

{
  "id": "110355660738", 
  "picture": {
    "data": {
      "url": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/1027085_12033235063_5234302342947_n.jpg", 
      "is_silhouette": false
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我想用(或许?)LINQ捕捉字段"url".我做了很多请求,这有点不同.所以我不会创建一个C#类并且每次都反序列化它.

它是一种提取单个字段的方法吗?谢谢!

.net c# linq json linq-to-json

53
推荐指数
2
解决办法
4万
查看次数

为什么有JConstructor?

Json.NET定义了一种JConstructor类型.

这很令人困惑,因为(据我所知)构造函数不是JSON的一部分.我仔细检查了JSON规范并浏览了json.org但却找不到任何东西.网上任何地方似乎都没有关于此类型的文档.

因为Json.NET被如此广泛地使用(它甚至由微软委托),我认为必须有一些合理的动机将这种表示包含在对象模型中.问题是,我决定动机的任何尝试都只是猜测.

我测试了类型及其序列化,明显的行为是只包装JavaScript代码new constructorName(...),例如:

new JConstructor("ctorExample", 
    new JValue("value"), 
    new JObject(
        new JProperty("prop1", new JValue(1)), 
        new JProperty("prop2", new JValue(2)))
        )
.ToString()
Run Code Online (Sandbox Code Playgroud)

输出

 new ctorExample( 
   "value", 
   { 
     "prop1": 1, 
     "prop2": 2 
   } 
 ) 
Run Code Online (Sandbox Code Playgroud)

那么,JConstructor用于表示的类型是什么以及为什么存在?

c# linq json json.net linq-to-json

11
推荐指数
1
解决办法
551
查看次数

LINQ to JSON - 动态嵌套数组的设置列表

这是我的json字符串.

{
    "?xml" : {
        "@version" : "1.0",
        "@encoding" : "UTF-8"
    },
    "DataFeed" : {
        "@FeedName" : "issuerDetails",
        "SecurityDetails" : {
            "Security" : {
                "SecurityID" : {
                    "@idValue" : "AAPL-NSDQ",
                    "@fiscalYearEnd" : "2016-12-31T00:00:00.00"
                },
                "FinancialModels" : {
                    "FinancialModel" : [{
                            "@id" : "780",
                            "@name" : "Estimates - Energy",
                            "@clientCode" : "A",
                            "Values" : [{
                                    "@name" : "EBITDA",
                                    "@clientCode" : "EBITDA",
                                    "@currency" : "C$",
                                    "Value" : [{
                                            "@year" : "2014",
                                            "#text" : "555.64"
                                        }, {
                                            "@year" : "2015",
                                            "#text" : "-538.986" …
Run Code Online (Sandbox Code Playgroud)

c# json json.net linq-to-json

6
推荐指数
1
解决办法
843
查看次数

LINQ to JSON - 查询对象或数组

我正在尝试获取SEDOL和ADP值的列表.以下是我的json文字:

{
    "DataFeed" : {
        "@FeedName" : "AdminData",
        "Issuer" : [{
                "id" : "1528",
                "name" : "ZYZ.A a Test Company",
                "clientCode" : "ZYZ.A",
                "securities" : {
                    "Security" : {
                        "id" : "1537",
                        "sedol" : "SEDOL111",
                        "coverage" : {
                            "Coverage" : [{
                                    "analyst" : {
                                        "@id" : "164",
                                        "@clientCode" : "SJ",
                                        "@firstName" : "Steve",
                                        "@lastName" : "Jobs",
                                        "@rank" : "1"
                                    }
                                }, {
                                    "analyst" : {
                                        "@id" : "261",
                                        "@clientCode" : "BG",
                                        "@firstName" : "Bill",
                                        "@lastName" : "Gates",
                                        "@rank" : "2" …
Run Code Online (Sandbox Code Playgroud)

c# linq json.net linq-to-json

3
推荐指数
1
解决办法
2557
查看次数

将List <Property>转换为JObject

考虑以下代码:

var joWork = ((JObject) x).Properties()
    .Where(p => p.Value.Type == JTokenType.String).ToList();
Run Code Online (Sandbox Code Playgroud)

我结束了List<JProperty>.

有没有一种快速的方法使用Linq或JSON.NET函数将该List<JProperty>对象转换为JObject而无需在循环中从头开始构建JObject?

c# json.net linq-to-json

3
推荐指数
1
解决办法
4464
查看次数

JArray.Remove(JToken) 不删除

我有一个带有 JSON 的 JObject:

{"name" : "user1", "groups" : ["group 1", "group2"]}
Run Code Online (Sandbox Code Playgroud)

我想按名称删除一组。所以我有一个这样的代码:

JObject userJson = JObject.Parse(user);

JArray groups = userJson["groups"] as JArray;
JToken group = new JValue (groupName);

groups.Remove(group);
Run Code Online (Sandbox Code Playgroud)

但是 JArray.remove(Jtoken item) 方法返回 false(这意味着它不能被删除)。这里的信息:

https://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_Linq_JArray_Remove.htm

所以试图设置参数JToken group = new JValue (groupName); JToken group = new JValue (groupName); as JTokenJValue group = new JValue (groupName);但它不起作用:S

这家伙很好地解释了 JToken 层次结构,但我不知道我做错了什么。

/sf/answers/2699213191/

c# json linq-to-json

3
推荐指数
1
解决办法
7404
查看次数

如何将"undefined"添加到JObject集合 - JToken/JValue.Undefined在哪里?

使用Json.NET时,我试图使用"JSON to LINQ"支持动态创建JSON结构.

在下面,jObject是一个JObject和JObject.Add采用(字符串,JToken).但是,我无法找到如何添加Undefined或Null标记 - 我也无法找到如何使用适当的Null/Undefined类型创建JValues.

string value = GetValue();
if (value == "undefined") {
  jObject.Add(key, /* how to add "Undefined" token? */);
} else if (value == "null") {
  jObject.Add(key, /* how to add "Null" token? */);
} else {
  jObject.Add(key, new JToken(value));  /* String value/token */
}
Run Code Online (Sandbox Code Playgroud)

如何为未定义的JSON显式添加JToken/JValue?JSON Null怎么样?

c# json undefined json.net linq-to-json

-2
推荐指数
1
解决办法
3453
查看次数

标签 统计

c# ×7

linq-to-json ×7

json ×5

json.net ×5

linq ×3

.net ×1

undefined ×1