Cannot access child value on Newtonsoft.Json.Linq.JValue

简介: 开发项目框架为.net framework,遇到此问题原因是笔者在做接口转发时接口返回类型直接定义为了object类型,这导致格式化返回结果时出现如标题异常,具体代码如下:```csharptry { var result = XXXWepApi.WebApiPost<请求参数类, object>("api/xxx接口地址", new 请求参数类()); if (result != null) { if (result.Code == "200") return SuccessResult(result.Data); else

开发项目框架为.net framework,遇到此问题原因是笔者在做接口转发时接口返回类型直接定义为了object类型,这导致格式化返回结果时出现如标题异常,具体代码如下:

try 
{
   
    var result = XXXWepApi.WebApiPost<请求参数类, object>("api/xxx接口地址", new 请求参数类());
    if (result != null) 
    {
   
        if (result.Code == "200")
            return SuccessResult(result.Data); 
        else
            return ErrorResult("列表获取失败!", 10001);
    }
    else
        return ErrorResult("列表为空!", 10002);
}
catch (Exception ex) 
{
   
    Function.WriteErrorLog(ex);
    return ErrorResult("系统繁忙,请重新获取!", 10050);
}

解决代码如下:转换抛出异常是因为自定义格式化方法格式化返回SuccessResult(result.Data)时抛出错误,result.Data返回时一个字符串数组,定义一个返回类即可皆解决,代码如下

try 
{
   
    var result = XXXWepApi.WebApiPost<请求参数类, 【定义返回类】>("api/xxx接口地址", new 请求参数类());
    if (result != null) 
    {
   
        if (result.Code == "200")
            return SuccessResult(result.Data); 
        else
            return ErrorResult("列表获取失败!", 10001);
    }
    else
        return ErrorResult("列表为空!", 10002);
}
catch (Exception ex) 
{
   
    Function.WriteErrorLog(ex);
    return ErrorResult("系统繁忙,请重新获取!", 10050);
}

关于SuccessResult方法如下

/// <summary>
/// 返回成功信息
/// </summary>
/// <param name="data">附加内容</param>
/// <param name="msg">成功信息</param>
/// <returns>返回Result格式信息</returns>
[NonAction]
public HttpResponseMessage SuccessResult(object data = null, string msg = "成功") 
{
   
    return new HttpResponseMessage 
    {
   
        Content = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(new ResultV2<object>() 
        {
   
            Code = 200,
            Msg = msg,
            Data = data == null ? new {
    } : data
        }), System.Text.Encoding.UTF8, "application/json")
    };
}

以上就是Cannot access child value on Newtonsoft.Json.Linq.JValue的介绍,做此记录,如有帮助,欢迎点赞关注收藏!

目录
相关文章
|
1月前
|
JavaScript
NodeJs——Parsing error: Cannot read file '.../tsconfig.json'.eslint
NodeJs——Parsing error: Cannot read file '.../tsconfig.json'.eslint
13 0
|
JSON NoSQL Redis
Redis反序列化错误Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
Redis反序列化错误Could not read JSON: Cannot construct instance of java.util.ArrayList$SubList
1000 1
Redis反序列化错误Could not read JSON: Cannot construct instance of `java.util.ArrayList$SubList`
|
JSON Java Android开发
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
570 0
android studio中出现Cannot resolve symbol 'json'问题完整简单解决方案
|
SQL JSON 缓存
Seata json decode exception, Cannot construct instance of `java.time.LocalDateTime` 报错原因/解决方案最全汇总版
Seata json decode exception, Cannot construct instance of `java.time.LocalDateTime` 报错原因/解决方案最全汇总版
1746 0
Seata json decode exception, Cannot construct instance of `java.time.LocalDateTime` 报错原因/解决方案最全汇总版
|
JSON PHP 数据格式
PHP“Cannot use object of type stdClass as array” (php在调用json_decode从字符串对象生成json对象时的报错)
php再调用json_decode从字符串对象生成json对象时,如果使用[]操作符取数据,会得到下面的错误错误:Cannot use object of type stdClass as array产生原因: +展开 -PHP     $res = json_decode($res);    $res['key']; //把 json_decode() 后的对象当作数组使用。
1084 0
|
1月前
|
JSON 前端开发 JavaScript
|
22天前
|
存储 JSON API
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
——在成长的路上,我们都是同行者。这篇关于商品详情API接口的文章,希望能帮助到您。期待与您继续分享更多API接口的知识,请记得关注Anzexi58哦! 淘宝API接口(如淘宝开放平台提供的API)允许开发者获取淘宝商品的各种信息,包括商品详情。然而,需要注意的是,直接访问淘宝的商品数据API通常需要商家身份或开发者权限,并且需要遵循淘宝的API使用协议。
淘系API接口(解析返回的json数据)商品详情数据解析助力开发者
|
10天前
|
JSON JavaScript 前端开发
Haskell中的数据交换:通过http-conduit发送JSON请求
Haskell中的数据交换:通过http-conduit发送JSON请求
|
27天前
|
存储 SQL JSON
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
【Azure Logic App】微软云逻辑应用连接到数据库,执行存储过程并转换执行结果为JSON数据
|
1月前
|
JSON 前端开发 API
【淘系】商品详情属性解析(属性规格详情图sku等json数据示例返回参考),淘系API接口系列
在淘宝(或天猫)平台上,商品详情属性(如属性规格、详情图、SKU等)是商家在发布商品时设置的,用于描述商品的详细信息和不同规格选项。这些信息对于消费者了解商品特性、进行购买决策至关重要。然而,直接通过前端页面获取这些信息的结构化数据(如JSON格式)并非直接暴露给普通用户或开发者,因为这涉及到平台的商业机密和数据安全。 不过,淘宝平台提供了丰富的API接口(如淘宝开放平台API),允许有资质的开发者或合作伙伴通过编程方式获取商品信息。这些API接口通常需要注册开发者账号、申请应用密钥(App Key)和秘钥(App Secret),并遵守淘宝的API使用协议。

热门文章

最新文章