2016-10-05 5 views
-2

私はすでにJavaとglassfishを使って安らかなAPIを作成していますが、私は問題に直面しています(エラーではありません)。JSONレスポンスからファイルを削除しますか?

私は私のAPIからJSONレスポンスを受信すると、それが正常に動作しますが、豆の名前が含まれています。

{"***countriesBean***":[ //(I need my response without this field) 
    {"CountryID":"3","CountryName":"asdasdasd","DefaultCurrencyID":"0","DefaultLanguageID":"0"},{"CountryID":"16","CountryName":"sddd","DefaultCurrencyID":"1","DefaultLanguageID":"0"},{"CountryID":"1","CountryName":"Lebanon","DefaultCurrencyID":"3","DefaultLanguageID":"0"},{"CountryID":"2","CountryName":"asdasd","DefaultCurrencyID":"0","DefaultLanguageID":"2"} 
] 
} 
+1

詳細は、お使いのサンプルコードを提供してください。 – Minh

+1

なぜ削除しますか?このjsonを簡単に解析できます。 – Ravikumar

+0

XmlRootElementが含ま XmlAccessorType(XmlAccessType.NONE) パブリッククラスCountriesBean { // @XmlElement のXmlElement(名前= "CountryID") プライベート整数COUNTRY_ID。 のXmlElement(名= "COUNTRYNAME")公衆整数getCOUNTRY_ID(){ 戻りCOUNTRY_ID。 }公共ボイドsetCOUNTRY_ID(整数COUNTRY_ID){ this.COUNTRY_ID = COUNTRY_ID。 }パブリック文字列getCOUNTRY_NAME(){ 戻りCOUNTRY_NAME。 }公共ボイドsetCOUNTRY_NAME(文字列COUNTRY_NAME){ this.COUNTRY_NAME = COUNTRY_NAME。 }} –

答えて

0

これは、私はあなたのコードなしであなたの問題を検証することはできません豆

package beans; 

import javax.ws.rs.FormParam; 
import javax.xml.bind.annotation.XmlAccessType; 
import javax.xml.bind.annotation.XmlAccessorType; 
import javax.xml.bind.annotation.XmlElement; 
import javax.xml.bind.annotation.XmlRootElement; 

/** 
* 
* @author ahmad.s 
*/ 
@XmlRootElement 
@XmlAccessorType(XmlAccessType.NONE) 
public class CountriesBean { 

// @XmlElement 

    @XmlElement(name="CountryID") 
    private Integer COUNTRY_ID; 
    @XmlElement(name="CountryName") 
    private String COUNTRY_NAME; 
    @XmlElement(name="LanguageID") 
    private Integer LANGUAGE_ID; 
    @XmlElement(name="DefaultCurrencyID") 
    private Integer DEFAULT_CURRENCY_ID; 
    @XmlElement(name="DefaultLanguageID") 
    private Integer DEFAULT_LANGUAGE_ID; 
    @XmlElement(name="TaskID") 
    private Integer TASK_ID; 
    @XmlElement(name="CurrencyID") 
    private Integer CURRENCY_ID; 

    public Integer getCURRENCY_ID() { 
     return CURRENCY_ID; 
    } 

    public void setCURRENCY_ID(Integer CURRENCY_ID) { 
     this.CURRENCY_ID = CURRENCY_ID; 
    } 

    public Integer getTASK_ID() { 
     return TASK_ID; 
    } 

    public void setTASK_ID(Integer TASK_ID) { 
     this.TASK_ID = TASK_ID; 
    } 

    public Integer getDEFAULT_LANGUAGE_ID() { 
     return DEFAULT_LANGUAGE_ID; 
    } 

    public void setDEFAULT_LANGUAGE_ID(Integer DEFAULT_LANGUAGE_ID) { 
     this.DEFAULT_LANGUAGE_ID = DEFAULT_LANGUAGE_ID; 
    } 

    public Integer getDEFAULT_CURRENCY_ID() { 
     return DEFAULT_CURRENCY_ID; 
    } 

    public void setDEFAULT_CURRENCY_ID(Integer DEFAULT_CURRENCY_ID) { 
     this.DEFAULT_CURRENCY_ID = DEFAULT_CURRENCY_ID; 
    } 

    public Integer getCOUNTRY_ID() { 
     return COUNTRY_ID; 
    } 

    public void setCOUNTRY_ID(Integer COUNTRY_ID) { 
     this.COUNTRY_ID = COUNTRY_ID; 
    } 

    public String getCOUNTRY_NAME() { 
     return COUNTRY_NAME; 
    } 

    public void setCOUNTRY_NAME(String COUNTRY_NAME) { 
     this.COUNTRY_NAME = COUNTRY_NAME; 
    } 

    public Integer getLANGUAGE_ID() { 
     return LANGUAGE_ID; 
    } 

    public void setLANGUAGE_ID(Integer LANGUAGE_ID) { 
     this.LANGUAGE_ID = LANGUAGE_ID; 
    } 
} 

この国サービスクラス

package service; 

import beans.CountriesBean; 
import com.xperteam.DBC.DataBaseConnection; 
import entity.Countries; 
import java.sql.Connection; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Types; 
import java.util.ArrayList; 
import java.util.List; 
import java.util.logging.Level; 
import java.util.logging.Logger; 
import javax.ejb.Stateless; 
import javax.naming.NamingException; 
import javax.persistence.EntityManager; 
import javax.persistence.PersistenceContext; 
import javax.ws.rs.Consumes; 
import javax.ws.rs.DELETE; 
import javax.ws.rs.GET; 
import javax.ws.rs.POST; 
import javax.ws.rs.PUT; 
import javax.ws.rs.Path; 
import javax.ws.rs.PathParam; 
import javax.ws.rs.Produces; 
import javax.ws.rs.QueryParam; 
import javax.ws.rs.core.MediaType; 

/** 
* 
* @author ahmad.s 
*/ 
@Stateless 
@Path("countries") 
public class CountriesFacadeREST extends AbstractFacade<Countries> { 

    @PersistenceContext(unitName = "WeddingRestApiPU") 
    private EntityManager em; 

    public CountriesFacadeREST() { 
     super(Countries.class); 
    } 

    @POST 
    @Override 
    @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
    public void create(Countries entity) { 
     super.create(entity); 
    } 

    @PUT 
    @Path("{id}") 
    @Consumes({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
    public void (@PathParam("id") Long id, Countries entity) { 
     super.(entity); 
    } 

    @DELETE 
    @Path("{id}") 
    public void remove(@PathParam("id") Long id) { 
     super.remove(super.find(id)); 
    } 

    @GET 
    @Path("{id}") 
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
    public Countries find(@PathParam("id") Long id) { 
     return super.find(id); 
    } 

    @GET 
    @Override 
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
    public List<Countries> findAll() { 
     return super.findAll(); 
    } 

    @GET 
    @Path("{from}/{to}") 
    @Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON}) 
    public List<Countries> findRange(@PathParam("from") Integer from, @PathParam("to") Integer to) { 
     return super.findRange(new int[]{from, to}); 
    } 

    @GET 
    @Path("count") 
    @Produces(MediaType.TEXT_PLAIN) 
    public String countREST() { 
     return String.valueOf(super.count()); 
    } 

    @Override 
    protected EntityManager getEntityManager() { 
     return em; 
    } 

    @GET 
    @Path("/getAllCountries") // webresources/beans.contactbean/getContactID?ContactID=? get contact info by id 
    @Produces(MediaType.APPLICATION_JSON) 
    public ArrayList<CountriesBean> getAllCountries() { 

     PreparedStatement preparedStatement = null; 
     ResultSet resultSet = null; 

     ArrayList<CountriesBean> CountriesList = new ArrayList<CountriesBean>(); 
     CountriesBean CountriesBean = null; 
     StringBuffer query = new StringBuffer(); 

     query.append(" SELECT "); 
     query.append(" COUNTRIES.COUNTRY_ID, "); 
     query.append(" COUNTRIES_TRANS.COUNTRY_TRANS_NAME,COUNTRIES.DEFAULT_CURRENCY_ID,COUNTRIES.DEFAULT_LANGUAGE_ID "); 
     query.append(" FROM COUNTRIES INNER JOIN COUNTRIES_TRANS ON COUNTRIES_TRANS.COUNTRY_ID=COUNTRIES.COUNTRY_ID "); 
     query.append(" WHERE COUNTRIES_TRANS.LANGUAGE_ID = 1 "); 
     int counter = 1; 
     try { 
      DataBaseConnection DataBaseConnection = new DataBaseConnection(); 
      Connection con = DataBaseConnection.GetConnection(); 
      preparedStatement = con.prepareStatement(new String(query)); 

      resultSet = preparedStatement.executeQuery(); 

      while (resultSet.next()) { 
       CountriesBean = new CountriesBean(); 

       CountriesBean.setCOUNTRY_ID(resultSet.getInt("COUNTRY_ID")); 
       CountriesBean.setCOUNTRY_NAME(resultSet.getString("COUNTRY_TRANS_NAME")); 
       CountriesBean.setDEFAULT_CURRENCY_ID(resultSet.getInt("DEFAULT_CURRENCY_ID")); 
       CountriesBean.setDEFAULT_LANGUAGE_ID(resultSet.getInt("DEFAULT_LANGUAGE_ID")); 
       CountriesList.add(CountriesBean); 
      } 
      con.close(); 
     } catch (SQLException sqlException) { 
      CountriesList = null; 
      System.out.println("getWeddingType : " + sqlException.getMessage()); 
     } catch (NamingException ex) { 
      Logger.getLogger(CountriesFacadeREST.class.getName()).log(Level.SEVERE, null, ex); 
     } finally { 
      query = null; 
      try { 
       if (resultSet != null) { 
        resultSet.close(); 
       } 
       if (preparedStatement != null) { 
        preparedStatement.close(); 
       } 
      } catch (Exception exception) { 

      } 
     } 

     return CountriesList; 
    } 
} 
0

です。

あなたの期待に基本的な例を参照してください。

public class Customer { 
    String fullName; 
    String email; 

    public String getFullName() { 
    return fullName; 
    } 

    public void setFullName(String fullName) { 
    this.fullName = fullName; 
    } 

    public String getEmail() { 
    return email; 
    } 

    public void setEmail(String email) { 
    this.email = email; 
    } 

    @Override 
    public String toString() { 
    return "Customer{" + 
     "fullName='" + fullName + '\'' + 
     ", email='" + email + '\'' + 
     '}'; 
    } 
} 

..

@Path("/services") 
public class MaisonService { 

    @GET 
    @Path("/test") 
    @Produces(MediaType.APPLICATION_JSON) 
    public Customer getSampleCustomer() { 
     Customer sampleCustomer = new Customer(); 
     sampleCustomer.setFullName("Trinh Toan Trung"); 
     sampleCustomer.setEmail("[email protected]"); 
     return sampleCustomer; 
    } 
.. 

出力:

{ "電子メール": "[email protected]" 、 "のfullName": "チンToanチュン"}

0

それを行うには、多くの簡単な方法があり、次はあなたのPOJOとしての応答を取得することができますとして最も最も単純であるか、DTOのCLAS

MyResponse OB =新しいObjectMapper()。readValue(jsonString、MyResponse.class) ;

関連する問題