Javascript 无法从Json中修改日期

Javascript 无法从Json中修改日期,javascript,java,android,json,Javascript,Java,Android,Json,我可以获取节名、url web标题和标题,但我无法从解析json中获取lastmodified日期这段json代码 { 答复:{ 状态:好, 用户层:开发者, 总数:368, startIndex:1, 页面大小:10, 当前页面:1, 页码:37, 排序者:相关性, 结果:[ { id:technology/2017/5/24/研究显示,当测量卡路里时,健身跟踪器不同步, 类型:文章, 第一部分:技术, 组别名称:科技,, 网络发布日期:2017-05-24T15:00:24Z, w

我可以获取节名、url web标题和标题,但我无法从解析json中获取lastmodified日期这段json代码

{ 答复:{ 状态:好, 用户层:开发者, 总数:368, startIndex:1, 页面大小:10, 当前页面:1, 页码:37, 排序者:相关性, 结果:[ { id:technology/2017/5/24/研究显示,当测量卡路里时,健身跟踪器不同步, 类型:文章, 第一部分:技术, 组别名称:科技,, 网络发布日期:2017-05-24T15:00:24Z, webTitle:研究表明,健身追踪者在测量卡路里时步调不协调, 网址:https://www.theguardian.com/technology/2017/may/24/fitness-trackers-out-of-step-when-measuring-calories-research-shows, APIRL:https://content.guardianapis.com/technology/2017/may/24/fitness-trackers-out-of-step-when-measuring-calories-research-shows, 字段:{ 标题:研究显示,健身追踪者在测量卡路里时不合拍, 最后修改:2017-05-24T15:02:19Z, 缩略图:https://media.guim.co.uk/8d3e17604195078ec89e20329e2ddc5027eca8ea/0_213_6362_3817/500.jpg }, 伊斯特:错
},该日期时间格式实际上是ISO 8601 DateTime。JSON没有为日期/时间指定任何特定格式。如果你稍微搜索一下,你会发现有很多实现可以在Java中解析它

如果您愿意使用Java内置的Date/Time/Calendar类以外的其他类,我还建议您使用Joda Time。它们提供了一个ISODateTimeFormat来解析这些类型的字符串

您使用的是lastModified=fields.getLonglastModified;而 您应该使用getString,因为上次修改的日期是字符串 类型


您可以解析Json并按如下方式修改

public static void parse(String response) {
    try {
        JSONObject baseObject = new JSONObject(response);

        if (baseObject == null) {
            return;
        }

        JSONObject responseObj = baseObject.optJSONObject("response");

        if (response == null) {
            return;
        }

        JSONArray resultsArray = responseObj.getJSONArray("results");

        if (resultsArray == null) {
            return;
        }

        for (int i = 0; i < resultsArray.length(); i++) {
            JSONObject resultObj = resultsArray.getJSONObject(i);

            if (resultObj == null) {
                continue;
            }

            String id = resultObj.optString("id", "");
            String type = resultObj.optString("type", "");
            String sectionId = resultObj.optString("sectionId", "");
            String sectionName = resultObj.optString("sectionName", "");
            String webPublicationDate = resultObj.optString("webPublicationDate", "");
            String webTitle = resultObj.optString("webTitle", "");
            String webUrl = resultObj.optString("webUrl", "");
            String apiUrl = resultObj.optString("apiUrl", "");
            boolean isHosted = resultObj.optBoolean("isHosted", false);

            JSONObject fieldsObj = resultObj.optJSONObject("fields");

            if (fieldsObj == null) {
                 continue;
            }

            String headline = fieldsObj.optString("headline", "");
            String lastModified = fieldsObj.optString("lastModified", "");
            String thumbnail = fieldsObj.optString("thumbnail", "");
        }

    } catch (JSONException e) {
        e.printStackTrace();
    }
}
这个java类

public class News {
private  String mTitle;
private String mSectionName;
private String mUrl;
private String mDate;
// constructor  of news`

 public News(String title,String sectionName,String date,String url){
    mTitle =title;
    mSectionName=sectionName;
    mDate=date;
    mUrl=url;}
public  News(String title,String sectionName){ mTitle =title;
    mSectionName=sectionName;}
// get methods.
public String getmTitle(){return mTitle;}
public String getmSectionName(){return mSectionName;}
public String getmUrl(){return mUrl;}

public String getmDate() {
    return mDate;}}

更改lastModified=fields.getLonglastModified;更改为lastModified=fields.getStringlastModified;@TrickySolutions我更改了它,但没有任何更改。我更改了它,但无法获得它?您的代码给了我大多数密钥,但不能给我lastModified日期它给了我webPublicationDate作为我的代码我不知道为什么?您可以更新您修改的代码,以便我可以检查出什么地方出了问题。
public class News {
private  String mTitle;
private String mSectionName;
private String mUrl;
private String mDate;
// constructor  of news`

 public News(String title,String sectionName,String date,String url){
    mTitle =title;
    mSectionName=sectionName;
    mDate=date;
    mUrl=url;}
public  News(String title,String sectionName){ mTitle =title;
    mSectionName=sectionName;}
// get methods.
public String getmTitle(){return mTitle;}
public String getmSectionName(){return mSectionName;}
public String getmUrl(){return mUrl;}

public String getmDate() {
    return mDate;}}