我有来自API的json形式的对象列表。这些对象有一些属性,问题是一些对象缺少属性。我的问题是:是否可以用颤振/飞镖分析这些数据?或者我必须更改为API响应,这样就不会缺少任何属性。
JSON数据:
[
{
"names": "Jean lewis Mbayabu ",
"users_name": "jeanlewis",
"avt": "Image URL",
"id": "32",
"title": "Canada",
"category": "student"
},
{
"names": "Abhi Vish",
"users_name": "abhi",
"avt": "Image URL",
"id": "59",
"category": "student"
},
{
"names": "Julie Mabengi",
"users_name": "julie",
"avt": "Image URL",
"id": "116"
}
]
下面是一个如何操作的示例。我已将标题或类别设置为可空,因为我们并不总是有这两个字段:
import 'dart:convert';
const jsonString = '''
[
{
"names": "Jean lewis Mbayabu ",
"users_name": "jeanlewis",
"avt": "Image URL",
"id": "32",
"title": "Canada",
"category": "student"
},
{
"names": "Abhi Vish",
"users_name": "abhi",
"avt": "Image URL",
"id": "59",
"category": "student"
},
{
"names": "Julie Mabengi",
"users_name": "julie",
"avt": "Image URL",
"id": "116"
}
]
''';
class SearchedUser {
final String names;
final String users_name;
final String avt;
final int id;
final String? title;
final String? category;
const SearchedUser(
{required this.names,
required this.users_name,
required this.avt,
required this.id,
required this.title,
required this.category});
factory SearchedUser.fromJson(Map<String, dynamic> json) => SearchedUser(
names: json['names'] as String,
users_name: json['users_name'] as String,
avt: json['avt'] as String,
id: int.parse(json['id'] as String),
title: json['title'] as String?,
// title: json['title'] ?? "defaultTitle", // default title if field is absent or null
category: json['category'] as String?);
// category: json['category'] ?? "defaultCategory"); // default category if field is absent or null
@override
String toString() => 'names: $names, '
'users_name: $users_name, '
'avt: $avt, '
'id: $id, '
'title: $title, '
'category: $category';
}
void main() {
final jsonList = jsonDecode(jsonString) as List<dynamic>;
final searchedUsers = [
for (final map in jsonList.cast<Map<String, dynamic>>())
SearchedUser.fromJson(map)
];
searchedUsers.forEach(print);
// names: Jean lewis Mbayabu , users_name: jeanlewis, avt: Image URL, id: 32, title: Canada, category: student
// names: Abhi Vish, users_name: abhi, avt: Image URL, id: 59, title: null, category: student
// names: Julie Mabengi, users_name: julie, avt: Image URL, id: 116, title: null, category: null
}
我有来自API的json形式的对象列表。这些对象有一些属性,问题是一些对象缺少属性。那么如何无错误地解析其他属性的数据呢? 例如,我有这个缺少的属性 但这所有属性都存在:
我从一个复杂的json中获取空数据,这里是json。当我试图解析它时,我得到了null。请看一看。 我已生成模型类:https://javiercbk.github.io/json_to_dart/ 生成模型类后,创建一个新的类名ModelClass。 另一个类名为APiResponse并编写代码:这个类获取api响应并返回响应:APiResponse。fromJson(jsonDecode(re
我有一个来自API的xml。 当我尝试使用simplexml\u load\u字符串或simplexmlement进行解析时,我得到了这个结果。 [广告]= 重要的是缺少我需要的url visibleurl属性。我试着在网上找,浪费了一整天来解决这个问题,但没有答案。有人能纠正我正在做的错误吗? PHP代码:
我使用的是Json。net将对象序列化到数据库。 我向类中添加了一个新属性(该属性在数据库的json中缺失),我希望新属性在json中缺失时具有默认值。 我尝试了DefaultValue属性,但它不起作用。我正在使用私有setter和构造函数来反序列化json,因此在构造函数中设置属性的值将不起作用,因为有一个带有该值的参数。 以下是一个例子: 我预计年龄是5岁,但现在是零岁。 有什么建议吗?
问题内容: 我有一个包含格式错误的JSON的字符串,该字符串在缺少键的情况下提供给我。JSON的结构超出了我的控制范围,因此我需要使用已有的东西。我已经找到了OP可以在JavaScript中解析格式错误的JSON的解决方案,但是其中一个值包含一个RegEx匹配的URL,并将其转换为另一个键(如值),导致JSON真正损坏。有任何想法吗? 我也看过jsonrepair,但是在那里没有太大的成功。 问题
我试图使用下面的代码将一个示例json文件读取到SqlContext中,但失败了,随后出现了datasource错误。 Java语言lang.ClassNotFoundException:未能找到数据源:json。请在以下位置查找包裹http://spark-packages.org位于组织。阿帕奇。火花sql。处决数据源。ResolvedDataSource美元。org上的lookUpdateS