ソース
JSONGenerator g = JSON.createGenerator(false); g.writeStartObject(); g.writeNumberField('number', 12345); g.writeEndObject(); System.debug(g.getAsString());
結果
{"number":12345}
ソース
JSONGenerator g = JSON.createGenerator(false); g.writeStartObject(); g.writeFieldName('number'); g.writeNumber(7890); g.writeEndObject(); System.debug(g.getAsString());
結果
{"number":7890}
* オーバーロードしてwriteValue()とかにまとめられそうな気配は感じます
* JSON表記上、クオートするかどうかとかそういう問題でしょうか * https://developer.salesforce.com/docs/atlas.ja-jp.apexcode.meta/apexcode/apex_class_System_JsonGenerator.htm
ソース
List<Integer> numbers = new List<Integer>(); numbers.add(100); numbers.add(200); JSONGenerator g = JSON.createGenerator(false); g.writeStartObject(); g.writeObjectField('numbers', numbers); g.writeEndObject(); System.debug(g.getAsString());
結果
{"numbers":[100,200]}
ソース
Hoge h = new Hoge(); h.code = '0001'; h.name = 'Hoge-0001'; h.price = 1200;
JSONGenerator g = JSON.createGenerator(false); g.writeObject(h); System.debug(g.getAsString());
public class Hoge { public String code; public String name; public Decimal price; }
結果
{"price":1200,"name":"Hoge-0001","code":"0001"}
ソース
Hoge h = new Hoge(); h.number = '0001'; h.name = 'Hoge-0001'; h.price = 1200;
JSONGenerator g = JSON.createGenerator(false); g.writeObject(h); System.debug(g.getAsString());
public class Hoge { public String number; public String name; public Decimal price; }
結果
Line: 11, Column: 20 Identifier name is reserved: numberTweet