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

2024-02-20 08:48

本文主要是介绍Cannot access child value on Newtonsoft.Json.Linq.JValue,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

try 
{var result = XXXWepApi.WebApiPost<请求参数类, object>("api/xxx接口地址", new 请求参数类());if (result != null) {if (result.Code == "200")return SuccessResult(result.Data); elsereturn ErrorResult("列表获取失败!", 10001);}elsereturn 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); elsereturn ErrorResult("列表获取失败!", 10001);}elsereturn 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的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/727651

相关文章

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

SpringBoot定制JSON响应数据的实现

《SpringBoot定制JSON响应数据的实现》本文主要介绍了SpringBoot定制JSON响应数据的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录前言一、如何使用@jsonView这个注解?二、应用场景三、实战案例注解方式编程方式总结 前言

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添

IDEA如何将String类型转json格式

《IDEA如何将String类型转json格式》在Java中,字符串字面量中的转义字符会被自动转换,但通过网络获取的字符串可能不会自动转换,为了解决IDEA无法识别JSON字符串的问题,可以在本地对字... 目录问题描述问题原因解决方案总结问题描述最近做项目需要使用Ai生成json,可生成String类型

Python中json文件和jsonl文件的区别小结

《Python中json文件和jsonl文件的区别小结》本文主要介绍了JSON和JSONL两种文件格式的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 众所周知,jsON 文件是使用php JSON(JavaScripythonpt Object No

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

Java解析JSON的六种方案

《Java解析JSON的六种方案》这篇文章介绍了6种JSON解析方案,包括Jackson、Gson、FastJSON、JsonPath、、手动解析,分别阐述了它们的功能特点、代码示例、高级功能、优缺点... 目录前言1. 使用 Jackson:业界标配功能特点代码示例高级功能优缺点2. 使用 Gson:轻量

python中json.dumps和json.dump区别

《python中json.dumps和json.dump区别》json.dumps将Python对象序列化为JSON字符串,json.dump直接将Python对象序列化写入文件,本文就来介绍一下两个... 目录1、json.dumps和json.dump的区别2、使用 json.dumps() 然后写入文

Java中JSON字符串反序列化(动态泛型)

《Java中JSON字符串反序列化(动态泛型)》文章讨论了在定时任务中使用反射调用目标对象时处理动态参数的问题,通过将方法参数存储为JSON字符串并进行反序列化,可以实现动态调用,然而,这种方式容易导... 需求:定时任务扫描,反射调用目标对象,但是,方法的传参不是固定的。方案一:将方法参数存成jsON字