попробуйте www.jsonschema2pojo.org
-----------------------------------com.example.Acf.java-----------------------------------
package com.example;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Acf {
@SerializedName("role")
@Expose
private String role;
@SerializedName("job")
@Expose
private String job;
@SerializedName("social")
@Expose
private List social = null;
@SerializedName("speaker_slider_shortcode")
@Expose
private String speakerSliderShortcode;
@SerializedName("o_prednasce")
@Expose
private List oPrednasce = null;
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public List getSocial() {
return social;
}
public void setSocial(List social) {
this.social = social;
}
public String getSpeakerSliderShortcode() {
return speakerSliderShortcode;
}
public void setSpeakerSliderShortcode(String speakerSliderShortcode) {
this.speakerSliderShortcode = speakerSliderShortcode;
}
public List getOPrednasce() {
return oPrednasce;
}
public void setOPrednasce(List oPrednasce) {
this.oPrednasce = oPrednasce;
}
}
-----------------------------------com.example.Content.java-----------------------------------
package com.example;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Content {
@SerializedName("rendered")
@Expose
private String rendered;
@SerializedName("protected")
@Expose
private Boolean _protected;
public String getRendered() {
return rendered;
}
public void setRendered(String rendered) {
this.rendered = rendered;
}
public Boolean getProtected() {
return _protected;
}
public void setProtected(Boolean _protected) {
this._protected = _protected;
}
}
-----------------------------------com.example.Example.java-----------------------------------
package com.example;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class Example {
@SerializedName("id")
@Expose
private Integer id;
@SerializedName("date")
@Expose
private String date;
@SerializedName("date_gmt")
@Expose
private String dateGmt;
@SerializedName("guid")
@Expose
private Guid guid;
@SerializedName("modified")
@Expose
private String modified;
@SerializedName("modified_gmt")
@Expose
private String modifiedGmt;
@SerializedName("slug")
@Expose
private String slug;
@SerializedName("status")
@Expose
private String status;
@SerializedName("type")
@Expose
private String type;
@SerializedName("link")
@Expose
private String link;
@SerializedName("title")
@Expose
private Title title;
@SerializedName("content")
@Expose
private Content content;
@SerializedName("excerpt")
@Expose
private Excerpt excerpt;
@SerializedName("author")
@Expose
private Integer author;
@SerializedName("featured_media")
@Expose
private Integer featuredMedia;
@SerializedName("comment_status")
@Expose
private String commentStatus;
@SerializedName("ping_status")
@Expose
private String pingStatus;
@SerializedName("sticky")
@Expose
private Boolean sticky;
@SerializedName("template")
@Expose
private String template;
@SerializedName("format")
@Expose
private String format;
@SerializedName("meta")
@Expose
private List
Вы могли присоединиться? Я использовал бы два шага сам, хотя:
var keys = new HashSet<string>(list2.Select(x => x[0]));
var data = list.Where(x => keys.Contains(x[0]));
Если у Вас только есть.NET 2.0, то или установка LINQBridge и использует вышеупомянутое (или похожий с a Dictionary<>
если LINQBridge не включает HashSet<>
), или, возможно, используйте вложенный Find
:
var data = list.FindAll(arr => list2.Find(arr2 => arr2[0] == arr[0]) != null);
отметьте хотя это Find
подход является O (n*m), тогда как HashSet<>
подход является O (n+m)...
Вы могли использовать Пересечь дополнительный метод в Системе. Linq, но необходимо было бы обеспечить IEqualityComparer, чтобы сделать работу.
static void Main(string[] args)
{
List<string[]> data1 = new List<string[]>();
List<string[]> data2 = new List<string[]>();
var result = data1.Intersect(data2, new Comparer());
}
class Comparer : IEqualityComparer<string[]>
{
#region IEqualityComparer<string[]> Members
bool IEqualityComparer<string[]>.Equals(string[] x, string[] y)
{
return x[0] == y[0];
}
int IEqualityComparer<string[]>.GetHashCode(string[] obj)
{
return obj.GetHashCode();
}
#endregion
}